Git 实用命令
最近实习在公司内接触到了 Git 协作开发中一些比较实用的命令,在此记录供以后参考。
1. 多分支提交
在开发新特性或者进行 bug
修复时,可能会涉及到多个版本,因此我们需要将代码提交到多个分支。这时需要使用
git cherry-pick
命令:
1 |
|
其中 cimmit-hash
可以通过 git log
命令查看。
上述是最简单的使用 git cherry-pick
的情况。有时我们需要将多个 commit 转移到另一个分支;或者在
cherry-pick
的过程中遇到了冲突,需要我们使用其他的命令选项或者解决冲突。具体请参考文末链接
1 和 2。
2. 定位哪次提交引入问题
有时我们会发现新提交的代码引入了 bug
或者性能等问题,需要确定是哪一次提交引入的,进而确定代码并修复。这时需要使用
git bisect
命令。它类似于二分查找,需要我们指定一个提交起始范围,然后 Git
会进行二分搜索,搜索过程中需要我们在命令行告诉 Git
当前代码是否正常。最后 Git
会输出哪一次提交引入了问题。其涉及到的命令有:
1 |
|
关于该命令使用的例子,请参考文末链接 3。
3. 回退
有时我们本地的代码库提交出现了问题;或者远程代码仓库的代码可能有些问题,如引入了
bug
或者编译问题,我们需要回退到某个正常的版本,进行开发或测试等工作。这时需要使用
git reset
命令:
1 |
|
4. 冲突解决
有时进行代码的 merge 或者 rebase 时,可能会有提交和我们的提交修改了相同的代码段,此时就会产生冲突,Git 会暂停 merge 或 rebase,并需要我们人工介入进行冲突解决。
这里个人推荐使用 VS Code Git 插件提供的冲突解决功能,可以选择:
- 已提交代码
- 即将提交代码
- 保留二者并进行适当修改
解决完冲突后,即可继续进行 merge、rebase、push 等操作。
5. 拉取远程分支到本地新分支
这一需求标题已经描述得很清楚了,只需要使用一条命令:
1 |
|
即可实现。
Reference: