如何在 git 中从一个远程分支拉到另一个分支?

hid*_*ame 5 git github

出于安全原因,我的主管不允许我直接从 master 分支拉他的工作。因此,我创建了一个名为“subbranch”的远程分支并将其克隆到我的本地存储库。我怎样才能让“子分支”与主分支保持同步?我只知道如何使用 GUI 来做到这一点。如何用命令行做到这一点?

rgu*_*lia 6

如果你还没有这样做,它已经从 master 克隆存储库,然后在你的克隆中创建一个本地分支,跟踪到你的上游分支。例如

git clone https://github.com/rgulia/myclone
cd myclone
git checkout -b subbranch origin/subbranch 
Run Code Online (Sandbox Code Playgroud)

当您需要在您的克隆中工作时,请确保您在您的分支上。

git branch  # your current branch is highlighted with a '*'
Run Code Online (Sandbox Code Playgroud)

通过向您的分支提交更改,正常在您的分支上工作。将更改推送到远程分支。

git commit
git push origin subbranch 
Run Code Online (Sandbox Code Playgroud)

不时您想使用 master 的更改进行更新

git fetch                  # get the changes from the remote repository. 
git merge master           # merge them into your branch
git push origin subbranch  # push your changes upstream
Run Code Online (Sandbox Code Playgroud)

git fetch 适用于所有分支,包括 master。git merge 在你的分支中创建一个提交。由于您始终在您的分支中工作,因此您从不提交或推送到 master。

您可能需要解决冲突。看到这个优秀的教程。 http://www.vogella.com/tutorials/Git/article.html#mergeconflict

我希望这有帮助。