1. 创建提交操作
- 在当前分支提交
git commit -m "info"
- 创建一个新的分支并指向新的分支
git checkout -b 新分支名
- 创建一个新的分支,但指向当前分支
git branch 新分支名
- 切换到已有分支
git checkout 已有分支名
2. 分支合并操作
合并 feat02 到 feat01
方法一:
- 首先要切换到feat01
- git merge feat02(feat02是我们要合并的分支)
这种合并之后会创建一个新的分支作为合并分支
方法二:(推荐,比较线性的方式)
-
切换到 feat02 这个分支
-
git rebase feat01(与方法一相反)
-
切换到feat01
-
git merge feat02
3. 冲突解决
冲突产生原因
当从同一个节点分出的两条不同的分支,同时对同一个文件做修改,并且要合并的时候如果修改的内容不一样就会产生分支。
报错如下:
解决:直接用编辑器打开冲突文件即可,不同的内容会有提示,我们手动修改文件保存即可。然后再将文件提交上去。
其他:游离态的分支
如果我们在没有标记的分支提交了分支,这样其实是很危险的,如果我们切换出去了,那么这个分支就无法再找到了。
那么直接基于这个节点创建一个分支即可改变这种状态
向我这样在当前节点创建了一个新分支 head-c
4. 远程拉取分支
git clone [url]
此时我们如果想要进行提交,得先将远程仓库的东西拉取下来合并,然后再提交上去
操作如下:
然后我们像之前一样合并
然后再提交上去即可
5. 常用:
- 下载远程仓库的所有变动
git fetch [remote]
- 列出所有远程分支
git branch -r
- 列出所有本地分支和远程分支
git branch -a
- 显示当前分支的版本历史
git log
- 提交工作区自上次commit之后的变化,直接到仓库区
git commit -a
- 修改最后一次的提交
git commit --amend
- 恢复到某一次的提交(将当前节点移动到想要恢复的节点去)
git reset (这里加上想要恢复节点的哈希值)
- 恢复某一次的提交(再当前节点后面新建一个节点同想要恢复的节点一样)
git revert (这里加上想要恢复节点的哈希值)
- 显示当前分支的最近几次提交(可以获得所有git相关操作的记录,能够获取到hash值,搭配 git reset,想恢复到哪里都可以)
git reflog