2012-04-16 108 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