这部分将记录一些我遇到的实际的一些git流程,通过实际的问题可以快速了解哪些git命令是常用且重要的。由于每个人遇到的具体项目都不太一样,所以这里的一些情况只作为参考。

解决版本冲突问题

假如我克隆了branch A的最新版本然后做出了一些代码的修改(并没有提交),但是另一个人在branch A的基础上做了更新并提交到了remote上,现在branch A是最新版本,此时我想要获取最新的branch A,但是也不想放弃之前在本地更改的信息。

此时可以分为以下几步:

  1. 保存本地的未提交修改

使用git stash可以将项目的修改保存到一个栈中,以便后续重新应用这些更改。

  1. 更新远程分支

使用git fetch origin来更新远程分支

  1. 合并远程分支的最新更改

使用git chekout A切换到分支A并使用git merge origin/A来合并到本地分支A中。

  1. 重新应用本地修改

使用git stash pop可以获取到之前存在栈中的修改信息并应用到本地项目中。

  1. 处理冲突

在使用git stash pop时很有可能有本地的修改与最新版本的冲突。此时可以使用git status来查看哪些文件有冲突,而且UI也会有冲突标记,之后就可以手动解决冲突。

  1. 标记冲突文件为已解决

当解决完冲突文件后,可以使用git add <file>来告诉git这些文件的冲突已经解决。

  1. 可选择进行合并

解决之后,可以选择git commit来合并项目并通过git push进行提交。