2012-04-16 103 views
1

我正在使用Jenkins的Git Plugin,並且有一個Job需要提交併推送一些更改。我使用的git存儲庫託管在GitHub上。忍受着我,我對git有點新鮮。推送/提交Jenkins git插件:#不在任何分支(GitHub repo)

但是,當我運行git statusgit commit它說# Not on any branch。如果我告訴插件使用「分支說明符」,即origin/master,這沒有幫助。

我該如何讓我的插件表現得好像我在桌面上完成了git clone

+2

你可能運行過'git checkout ',所以現在'git'正在看那個提交,但是不在任何分支的末端。如果你已經完成了現在的工作,用'git diff> savefile.tmp'保存,然後簽出你想要'git checkout master'的分支,然後應用你完成的工作'patch -p1 < savefile.tmp',修復任何衝突,並'git commit'你的工作。然後你可以推。如果你的工作沒有完成,那麼只需結賬即可掌握並推動。 – c00kiemon5ter 2012-04-16 11:20:30

+0

非常好,這個工作,你會讓它成爲'答案',所以我可以標記它解決? – 2012-04-16 11:37:08

+0

很好,也創建了一個答案;)謝謝 – c00kiemon5ter 2012-04-16 11:45:52

回答

4

您可能運行了git checkout <some-sha>,所以現在git正在查看該提交,但不在任何分支的提示上。

如果你做了,你現在的工作,與git diff > savefile.tmp
保存它,然後結帳到你想要的分支:git checkout master
然後應用你所做的工作:patch -p1 < savefile.tmp
修復任何衝突和git commit你的工作。
然後你可以git push

如果沒有工作完成你的立場,那麼只需簽出掌握和推動。

+0

其實我甚至不需要做補丁保存,我只是推遲在'checkout'後添加更改 – 2012-04-16 11:52:37

+0

感謝球員,當我嘗試從shell運行git命令它告訴我git找不到。有什麼建議? – 2013-08-21 23:29:02

+0

你可能需要在服務器上安裝git。例如,在Ubuntu上,這是通過命令「sudo apt-get install git」完成的。 – seddonym 2013-08-28 13:48:13