例如,我现在在develop分支中,并且想要将远程主服务器拉到本地主服务器,我要做的是:
$ git stash
$ git checkout master
$ git pull
$ git checkout develop
$ git merge master
Run Code Online (Sandbox Code Playgroud)
问题1:在develop分支机构时,如何将远程主服务器拉到本地主服务器?
问题2:是否可以在一个命令中将远程主机与本地开发合并?目前我使用4个命令
答案1:您的工作程序适合question-1。
$ git fetch
$ git stash
$ git checkout master
$ git pull origin master
$ git checkout develop
$ git stash apply
Run Code Online (Sandbox Code Playgroud)
答案2:您可以直接origin/master进入本地develop分支。
$ git pull origin master
Run Code Online (Sandbox Code Playgroud)
对于你的问题2已经有其他好的答案了(参见sajib的)。对问题 1 的简短回答是“你不能”。
但是,如果我可以将您的问题稍微改写为:“如何在保持开发签出的同时将远程主机拉到主机上?” 那么你就可以利用git worktree你的优势。它为您提供了另一棵工作树来完成您对工作树所做的所有正常操作。
如果您位于开发分支并想要更新 master,例如:
git worktree add ../second-repo master
git -C ../second-repo merge origin master
Run Code Online (Sandbox Code Playgroud)
现在 master 已在您的本地存储库中更新。
为了解释上述命令,git worktree将 checkout master 到另一个文件夹 ( ../second-repo)。第二个命令git merge origin master仅在虚拟地将目录更改为新工作树后才会执行。请注意,一旦设置了工作树,就无需再次设置。您可以继续使用相同的工作树来更新 master。
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |