这部分将记录一些我遇到的实际的一些git流程,通过实际的问题可以快速了解哪些git命令是常用且重要的。由于每个人遇到的具体项目都不太一样,所以这里的一些情况只作为参考。
解决版本冲突问题
假如我克隆了branch A的最新版本然后做出了一些代码的修改(并没有提交),但是另一个人在branch A的基础上做了更新并提交到了remote上,现在branch A是最新版本,此时我想要获取最新的branch A,但是也不想放弃之前在本地更改的信息。
此时可以分为以下几步:
- 保存本地的未提交修改
使用git stash
可以将项目的修改保存到一个栈中,以便后续重新应用这些更改。
- 更新远程分支
使用git fetch origin
来更新远程分支
- 合并远程分支的最新更改
使用git chekout A
切换到分支A并使用git merge origin/A
来合并到本地分支A中。
- 重新应用本地修改
使用git stash pop
可以获取到之前存在栈中的修改信息并应用到本地项目中。
- 处理冲突
在使用git stash pop
时很有可能有本地的修改与最新版本的冲突。此时可以使用git status
来查看哪些文件有冲突,而且UI也会有冲突标记,之后就可以手动解决冲突。
- 标记冲突文件为已解决
当解决完冲突文件后,可以使用git add <file>
来告诉git这些文件的冲突已经解决。
- 可选择进行合并
解决之后,可以选择git commit
来合并项目并通过git push
进行提交。
Comments