如果请求最初包含在本地提交中,在拉取请求后文件会被覆盖吗?

时间:2019-05-15 14:48:33

标签: git git-rebase overwrite git-pull

我想澄清有关本地提交和后续git pull请求的一个方面。

假设我的存储库中有file1.txt文件。然后,我对其进行一些更改,然后在此文件上运行“ git commit”。然后,我从服务器上“ git pull”,其中某些开发人员也更改了此文件(file1.txt)。 git如何跟踪我在本地提交中对file1.txt的更改以及从远程服务器在同一文件中的更改?

是否要在已创建的本地提交中保持文件不变?

git add file1.txt
git commit -m "Included file1.txt inside local commit"
git pull

1 个答案:

答案 0 :(得分:1)

首先-Pull Requestgit pull不同

  • Pull Request-是您要求管理员用户合并您的 更改为其他分支。您可以在stash / github中看到它 (网络)。
  • git pull-是您要的那个人。

关于您的问题(git pull)
几乎可以,它可能会覆盖您的文件。当您没有提交文件更改并且存在冲突或修订版本不同时,就会发生这种情况。 git pull可能会施加新的更改。

我建议-

  • 不要不要git pull
  • 先执行git fetch,然后再执行git rebase

因为这是最佳且干净的方法(不覆盖/不施加力更改)。 git rebase会要求您解决冲突。

我还看到git pull = git fetch + git merge。可能是真的。但是,重新设置基准是安全的方法,因为git merge creates new commit(基本上我不喜欢!)

注意
可能有开发人员在使用,或者有喜欢使用git pull而不是我的想法的人。但是我的建议是根据我的经验。