2016-07-29 61 views
1

我有几个提交还没有推送。但是在存储库中有几个新的提交。我想拉新提交,并推我的提交,但我不知道什么是正确的方法来做到这一点。 如果我按照原样进行拉取,我认为它会尝试合并,但我不确定提交的内容会有什么变化,请提出针对这种情况的解决方案。从git中拉出提交信息

回答

3

你有两个主要选择在这里,您可以远程分支合并到分支,然后推,或者你可以变基遥控器上的分支,然后快速 - 远程分支。

选项1:合并

git pull origin yourBranch   # does a fetch, followed by a merge 
git push origin yourBranch   # push merged branch to remote 

选项2:重订

git pull --rebase origin yourBranch # does a fetch, followed by a rebase 
git push origin yourBranch   # ideally this will fast-forward the remote, 
            # meaning all your commits will be played on top 

合并会崩溃您提交到一个单一的合并提交将出现在远程分支,而重订将按顺序保存在远程分支中的提交。

在这两种情况下,您都不会失去已完成的工作,尽管如果使用合并选项,您所做的某些(或全部)提交可能不会保留在远程分支中。

-1

尝试做这步:

Step1: git add . 
Step2: git commit -m "message commit" 
Step3: git pull 
if you have some conflict, please merge code and return step 1. 
Step 4: git push. 
4

git pull --rebase往往是最有用的事情在这里做。有效地将:

  1. 回滚你的资料库,以您的unpushed变化从上游
  2. 拉之前(这不会需要合并,只是一个快进)
  3. 尝试重新申请更改这是在步骤1中

回滚如果没有冲突,那么这将继续不问任何问题,你会在那里你可以清晰地把你的变化,而不需要任何合并的状态。如果存在冲突,则必须在重新分配过程中解决这些冲突 - 这可能需要很多工作,具体取决于冲突的大小和未完成的提交数量。

1

您需要以任何方式做git pull。 然后解决合并(如果它会),然后进行新的提交,然后推送到存储库。

+0

欢迎来到Stack Overflow!这并不能解答这个问题。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你[赚取](http://meta.stackoverflow.com/q/146472/169503)足够[声誉](http://stackoverflow.com/help/whats-reputation)你将能够[评论](http://stackoverflow.com/help/privileges/comment)在任何职位。如果你有一个相关但不同的问题,[请教一个新问题](http://stackoverflow.com/questions/ask)引用这个问题,如果它有助于提供上下文。 – ddb