這東西在git的,只是沒有道理給我,這裏是發生了什麼
- 我做了
git status
,我看到我在分支大師,沒有提交和工作目錄是乾淨的。 - 我然後做
git pull origin master
我拉了一堆代碼,沒有問題。 - 現在,當我做
git status
我看到一個新的行你的分支是領先對手1產地/主的承諾
我的本地回購和遠程回購是完全同步的,你的分支是超前什麼呢原產地/主人1承諾的意思是,這是非常非常混亂的。任何輸入/反饋都非常感謝。謝謝
這東西在git的,只是沒有道理給我,這裏是發生了什麼
git status
,我看到我在分支大師,沒有提交和工作目錄是乾淨的。git pull origin master
我拉了一堆代碼,沒有問題。git status
我看到一個新的行你的分支是領先對手1產地/主的承諾我的本地回購和遠程回購是完全同步的,你的分支是超前什麼呢原產地/主人1承諾的意思是,這是非常非常混亂的。任何輸入/反饋都非常感謝。謝謝
我所經歷的,正是你看到的。 我找不到git-scm.com適當的解釋,但我相信它是這樣的:
git pull origin master
git status
和你會看到你的分支在原產地/主人面前甚至很難在你的本地回購中沒有新的提交,也沒有推動! (在這個例子中,自從步驟1(克隆)以來本地沒有提交任何新東西)==>我在做主設備時通過執行git pull origin
來解決此問題。
A git pull origin master
將從原始分支上的所有新提交拉到您的本地分支。
A git pull origin
也將重新設置您對master的引用,等於master在引用時的引用! (當這種情況沒有發生的時候,git-bash會認爲你提前做了很多提交!因爲在commit-tree裏有很多提交之後你提交的主引用是提交的!)
這對你有任何意義嗎?它確實給我:)
也請隨時支持我toughts有點硬證據/文檔:)
,請同時閱讀blunderboy下面的評論。有用戶1781472說,解決了他的問題+一些評論爲什麼它解決了他的問題。 – deblendewim 2013-03-22 15:37:11
您已在本地計算機上添加了一個提交,該提交尚未發送到遠程服務器。
如果您確信您的修改應與遠程存儲庫共享,發送提交到遠程與git push
命令來完成:
git push orgin master:master
不,這就是整個問題,我沒有任何東西在我的本地機器上沒有提交。 – user1781472 2013-03-22 13:33:45
** git push origin master **和** git push origin master的區別:origin/master ** – user1781472 2013-03-22 13:51:28
First off:我的錯誤,命令應該讀爲'git push origin master:master' - 在帖子。 – LeGEC 2013-03-22 14:40:56
其實,這是你的假設,你的本地分支和遠程分支同步。如果它表示你的本地分支在1次提交之前就是源於/主人,那肯定是。我們都信任GIT。
用這個來測試。
git checkout master // You move to master branch
cat .git/HEAD //shows the commit on which HEAD is pointing to
git checkout origin/master //you switch to origin master branch
cat .git/HEAD
如果您發現本地主服務器和遠程主分支中的HEAD指向相同的提交,則兩者都同步。
如果您當地的分行是提前1承諾,只要它推(如果你想)到遠程分支作爲
git push origin master
感謝您的回答,所以我在閱讀本文之前只檢查了本地(git log)和遠程文件,它們都具有相同的近期提交。然後我做了一個** git fetch **,現在這個消息不見了,這說明我的分支在1提交之前。看起來像我得到的任何東西拉Git認爲這是我的提交不推動和Git獲取解決,不知道這裏發生了什麼 – user1781472 2013-03-22 14:24:53
1.你是否推動你的承諾起源。如果你還沒有推它,那麼你的提交無法完成。 2。你是否用硬選項重置HEAD?因爲這也會從您的分支中刪除提交。 – sachinjain024 2013-03-22 14:42:43
@ user1781472:在git-scm網站上,我發現了以下內容:更新遠程跟蹤分支: $ git fetch origin 上述命令從遠程refs/heads /命名空間複製所有分支,並將它們存儲到本地ref/remotes/origin /命名空間,除非分支。
你是不是100%與遠程倉庫同步爲你想。你有來自遠程倉庫的一切,是的。但是您的本地主人通過一次提交就可以領先於原產地/主人。
運行它,並告訴我們結果:
git log --all --graph --pretty=format:'%h %d %s'
我希望看到這樣的:
* (master) Commit D
* (origin/master) Commit C
* Commit B
* Commit A
如果我正確地讀你的文章,你是一個犯提前,因爲你有D,而遠程分支在C上。您必須git push
將提交D推送到遠程存儲庫。那麼你將100%同步。
您爲什麼認爲您的存儲庫與遠程同步? – 2013-03-22 13:01:10
你不是在默認情況下重新綁定你嗎?你可以嘗試提取和合並單獨而不是拉? – 2013-03-22 13:01:56
你可以使用「gitk」。查看哪些提交具有附加的「主」和「源/主」標籤。 – 2013-03-22 13:30:40