我什么时候需要做“git pull”,在“git add,git commit”之前还是之后?

什么是正确的方式?

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来分阶段跟踪修改文件。 不要将全新的文件包含到存储库中。 这是否改变命令的顺序?

拉=取+合并。

您需要在合并之前提交所做的事情。

所以提交后提交。

我build议尽可能频繁地从远程分支拉,以尽量减less大的合并和可能的冲突。

话虽如此,我会select第一个选项:

 git add foo.js git commit foo.js -m "commit" git pull git push 

在提交之前提交您的更改,以便在提交期间将您的提交合并到远程更改中。 这可能会导致冲突,你可以开始处理知道你的代码已经提交,如果出现任何问题,你必须中止合并,无论出于何种原因。

我相信有人会不同意我的意见,但我不认为有任何正确的方法来做这个合并stream程,只有最适合的人。

我认为最好的办法是。

隐藏你的本地变化

 git stash 

更新分支到最新的代码

 git pull 

将您的本地更改合并到最新的代码中

 git stash apply 

添加,提交并推送您的更改

 git add git commit git push 

根据我的经验,这是通过git(反正在命令行上)阻力最小的path,

您希望您的更改位于远程分支的当前状态之上。 所以可能你想要在你自己做出决定之前就把它拉开。 之后,再次推送您的更改。

只要与远程分支没有冲突,“脏”的本地文件就不是问题。 如果发生冲突,合并将失败,因此在进行本地变更之前,没有风险或危险。

我认为git pull --rebase是在远程提交之前设置最近的本地提交的最git pull --rebase的方式,而您在某个时间点没有提交。

所以这样你就不必每次都想要开始修改。