IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git学习笔记 -> 正文阅读

[开发工具]Git学习笔记

参考博客地址

Git是目前世界上最先进的分布式版本控制系统

安装git就不说了。

1.创建版本库

git init     // 把当前目录变成Git可以管理的仓库

执行完git init,当前目录会多一个.git的目录,该目录我们称之为版本库(Repository)?
版本库中有一个叫stage的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

git add xxx                  // 把文件修改添加到暂存区
git commit -m "提交的说明"     // 把暂存区的所有内容提交到当前分支
// 建议用这两步来提交文件,提交的文件要和.git目录在同一目录下面

2.版本回退?

git log     // 查看提交历史,--pretty=oneline参数可简化日志的输出,只能查看当前版本之前的commit id
git reflog  // 记录你的每一次命令,可查询当前版本之后的commit id

commit后面的一长串表示commit id

// HEAD表示当前版本,回退到上一个版本用HEAD^,回退到上上一个版本用HEAD^^,回退到100个版本之前用HEAD~100
git reset --hard HEAD^
// 上面是想后回退,向前回退,--hard后面跟对应的commit id,版本号没必要写全,前几位就可以了,Git会自动去找
git reset --hard 1094a

3.撤销修改

// 如果你想修改的文件还未添加到暂存区
git checkout -- file   // 撤销文件在工作区中的修改
// 如果你想修改的文件已经添加到了暂存区,用下面两步撤销修改
git reset HEAD <file>  // 把暂存区的修改回退到工作区
git checkout -- file
// 如果你想修改的文件已经commit了,参考上面的版本回退

4.删除文件

你在工作区删除了一个文件,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了
如果想从版本库中删除该文件

git rm xxx文件    // 从版本库中删除该文件
git commit -m "说明文字"

如果你是误删的,并且该文件已经被提交到版本库,可以恢复

git checkout -- xxx文件   // git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以还原

5.远程仓库

先有本地库,再想关联远程库

在github上面创建一个仓库

# 将本地库和远程库相关联
# 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的
# 后面一段可以去github对应仓库上直接复制
git remote add origin git@github.com:你的GitHub账户名/仓库名.git
# 把本地库的所有内容推送到远程库上,实际上是把当前分支master推送到远程
git push -u origin master
# 第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,以后推送或者拉取就可以简化命令
# 从现在起,只要本地作了提交(commit),就可以通过命令把本地master分支的最新修改推送至GitHub
git push origin master

②解除本地和远程库的绑定关系?

git remote rm origin

③不用先有本地库,直接克隆远程库

同样,先在github上面创建一个仓库?

git clone git@github.com:你的github账户名/仓库名.git

如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。
Git支持多种协议,包括https,但ssh协议速度最快(默认的git://使用ssh)。?

6.分支管理

①创建分支、切换分支、查看分支、合并分支

git branch 分支名                           # 创建分支
git checkout 分支名/git switch master       # 切换分支
git checkout -b 分支名/git switch -c 分支名  # 创建并切换分支
git branch             # 查看当前分支,该命令会列出所有分支,当前分支前面会标一个*号
# 之后我们就可以在该分支上修改文件,add,commit
git checkout master    # 切换回master分支
git merge 分支名        # 当前分支为master,git merge命令用于合并指定分支到当前分支
git branch -d 分支名    # 合并完成后,想删除刚合并的那个分支

②合并冲突

如果你在某一个分支修改了文件,切换到master分支又修改了同一个文件,再进行git merge合并的时候,这种合并就可能会引发冲突。

git status        # 告诉我们冲突的文件

直接打开冲突文件,?Git会用<<<<<<<=======>>>>>>>标记出不同分支的内容
这时,需要我们手动编辑文件,使两个分支发生冲突的地方保持一致,再进行add和commit

7.标签管理

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章           查看所有文章
加:2022-04-30 08:54:24  更:2022-04-30 08:55:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:07:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码