什么是正确的方法?
git add foo.js
git commit foo.js -m "commit"
git pull
git push
要么
git pull
git add foo.js
git commit foo.js -m "commit"
git push
要么
git add foo.js
git pull
git commit foo.js -m "commit"
git push
UPD:
我忘了提到在这种情况下我使用git add
来播放跟踪和修改过的文件。不要将全新文件包含到存储库中。这会改变命令的顺序吗?
pull = fetch + merge。
你需要在合并之前提交你所做的事情。
提交后拉。
我认为最好的方法是:
存储您的本地更改:
git stash
将分支更新为最新代码
git pull
将您的本地更改合并到最新代码中:
git stash apply
添加,提交和推送您的更改
git add
git commit
git push
根据我的经验,这是使用Git最少阻力的路径(无论如何在命令行上)。
我建议尽可能经常从远程分支拉出来,以尽量减少大型合并和可能的冲突。
话虽如此,我会选择第一个选项:
git add foo.js
git commit foo.js -m "commit"
git pull
git push
在拉动之前提交您的更改,以便在提取期间将提交与远程更改合并。这可能会导致您可以开始处理的冲突,知道您的代码已经提交,如果出现任何问题,您必须因任何原因中止合并。
我敢肯定有人会不同意我的观点,我认为没有任何正确的方法来做这个合并流程,只有最适合人们的方法。
我认为git pull --rebase
是一种最简单的方法,可以在远程提交的基础上设置本地最近的提交,而这些提交在某些时候是您没有的。
因此,每次您想要开始进行更改时,都不必拉动。
您希望更改位于远程分支的当前状态之上。所以你可能想要在自己承诺之前就拉上右边。之后,再次推送您的更改。
只要与远程分支没有任何冲突,“脏”本地文件就不是问题。如果存在冲突,则合并将失败,因此在进行本地更改之前不存在拉动风险或危险。