2016-07-29 63 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