2010-06-11 259 views
3

我有一個遠程項目,有一個分支。所以我首先克隆回購。然後執行以下命令克隆到分支上的工作:git推遠程分支

git checkout -b <name> <remote_branch_name> 

於是我做出了改變需要對這個分支,並希望通過這樣承諾:

git commit -a -m "changed made" 

但是當我要推回到遠程分支,它只是說「一切是最新的」

git push 
Everything up-to-date 

我通過克隆在不同的目錄再次檢查遠程回購也沒有過....變更推讓我怎麼把我變回遠程分支

感謝

回答

4

這意味着你以某種方式工作的一個detached head

請確保先取得遠程分支(儘管克隆必須照顧到這一點),然後再進行結賬。
你用什麼遠程名稱作爲新分支的起點?

origin/name 

應該工作,假設您的遠程倉庫被引用爲'origin'。

您可以通過鍵入看到遠程回購的名稱:

git remote -v show 

然後:

 
    git checkout --track 
    git checkout --track origin/abranchname 

這將創建一個本地分支'abranchname'跟蹤(取/拉/推)遠程分支'abranchname'。

 
    git branch --set-upstream abranchname origin/abranchname 
+0

如何我到分支給遠程的名字嗎?我只是結帳,然後做'git遠程添加分支機器人@機器:git.git'? 'origin/name'意思是我應該發出'git push origin/name'? – charleetm 2010-06-11 14:44:19

+0

@charlielee:如果您的分支已經存在,請參閱http://stackoverflow.com/questions/520650/how-do-you-make-an-existing-git-branch-track-a-remote-branch。如果這是一個新的跟蹤分支:http://stackoverflow.com/questions/1613812/git-difference-between-tracking-a-branch-versus-cloning – VonC 2010-06-11 15:03:36

+0

@chalielee:剛剛用各種命令更新了我的答案。 – VonC 2010-06-11 15:07:17