如果这是一个重复的问题,很抱歉。我是天生的新手,术语有点混乱。
我做了如下的事情。
我已经从名为master的远程分支中克隆了一个本地存储库(比如名为master的文件夹)。
由此,我使用git checkout master;git branch XYZ和git-new-workdir命令创建了一个分支XYZ。
现在,我使用git pull更新了本地存储库(文件夹主版),以获取最近的更改。
我想将它传播到我的分支XYZ,它是从我的本地存储库中获取的。
我该怎么做?再次使用git pull?
如果我尝试git pull,它会说“当前分支没有跟踪信息”。
那我该怎么办?
发布于 2014-08-21 13:05:34
你可能想把你的分支rebase到主人身上。
重基vs合并
让我们假设您的历史在拉过之后看起来是这样的:
c---d---e <- Your branch
/
a---b---f---g---h <- master (after the pull)重设基地
使用rebase (文档)时,提交图如下所示:
c'---d'---e' <- Your branch
/
a---b---f---g---h <- master您需要使用的命令是git rebase master <your-branch>,但请确保工作目录是干净的。如果您已经进行了未实现的更改,则应通过git stash保存它们。
合并
如果您使用merge (文档),它将是这样的,i是合并提交。
c---d---e---i <- Your branch
/ /
a---b---f---g---h <- master重基的优势
merge和rebase之间的区别是,merge将在您的分支中创建一个单独的提交,其中包含您从服务器中提取的所有更改。使用rebase,您可以将自己的提交放在拉出提交的顶部。
在进行重基时,您可以通过执行一个fast-forward merge来完成您的工作,这将导致一个清晰的线性历史,这将使它更加可读性。
a---b---f---g---h---c'---d'---e' <- Your branch, master如果您之前合并了,而不是重新建立基础,这也是不可能的。
有关该主题的更多信息,您可以从Git分支-重基查看吉普书。
发布于 2014-08-21 13:00:41
您试过使用git checkout XYZ和git merge master将主服务器合并到XYZ中吗?
Git分支-基本分支和合并
https://stackoverflow.com/questions/25426514
复制相似问题