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

9

出于安全原因,我的主管不允许我直接从主分支上拉取他的工作。因此,我创建了一个名为“subbranch”的远程分支并将其克隆到我的本地存储库。我该如何使“subbranch”与主分支保持同步?我只知道如何使用图形界面来完成这个操作。请问如何使用命令行实现?


你可以随时获取原始存储库,然后在“subbranch”的本地克隆上使用“reset --hard”命令将其重置。 - gravetii
你的意图不太清楚。更新“subbranch”与“master”是如何阻止你直接从主分支上拉取他的工作的? 你能描述一下你是如何通过图形用户界面来完成这个操作的吗? - FractalSpace
3个回答

8
如果您还没有这样做,请从主分支克隆存储库,然后在克隆中创建本地分支,并跟踪您的上游分支。例如:
git clone https://github.com/rgulia/myclone
cd myclone
git checkout -b subbranch origin/subbranch 

当你需要在克隆版本中工作时,请确保你在自己的分支上。
git branch  # your current branch is highlighted with a '*'

正常地在你的分支上进行工作,通过将更改提交到你的分支来完成。将更改推送到远程分支。

git commit
git push origin subbranch 

有时候您需要更新主分支的更改。

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

git fetch 适用于所有分支,包括主分支。git merge 会在您的分支中创建一个提交记录。由于您始终在自己的分支上工作,因此永远不会向主分支提交或推送。

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

希望这可以帮助您。


0

git branch --set-upstream-to remote-branch # 用于将本地分支与远程分支关联

git pull --rebase # 用于获取远程分支的最新更改


0
  1. 列表项

我假设有两个分支master和demo。将Master代码合并到Demo。 步骤1 A.进入master分支->git checkout Master。 B.拉取Master分支的所有新更改。 步骤2 A.现在进入demo分支->git checkout demo。 步骤3 A.将Master分支的更改合并到Demo分支 git merge Master B.然后将更新后的代码推送到git git push origin demo


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接