2014-03-30 140 views
27

我有一个GitHub源代码控制工具添加到我的Visual Studio 2013副本中,当我右键单击解决方案并进行提交时,它表示在本地创建提交。当我尝试与服务器同步提交时,同步按钮变灰。如何推动未提交的提交给GitHub?

我的问题是我该如何设置它,或者我采取了哪些步骤以便将提交推送到服务器?

enter image description here

+0

你在混淆git和GitHub。看起来你实际上没有GitHub仓库。您需要添加一个遥控器。 – SLaks

+0

我在我的在线个人资料上有一个回购。这只是一个设置它连接到视觉工作室的问题吗? –

回答

42

看起来您没有为此分支配置的上游远程/分支。 Visual Studio的运行就像“push.default”配置设置为“上游”一样。

如果您转到分支机构页面,此分支应列在“未发布”分支部分下。在该页面上,您可以选择“发布”该分支,方法是右键单击未发布的分支,然后在出现的上下文菜单中选择发布。这会将分支推送到远程原点(具有与本地分支名称相同的分支),并设置该分支的上游跟踪信息。从此,您可以从Unsynced Commits页面推送并获取。

下面是你需要去发布一个未公开的分支抓屏:

Publish an unpublished branch

+0

好吧,所以我打开分支页面,显示未发布的分支 - >师父,但没有明确的选项“发布”,因为你陈述..任何想法为什么? –

+0

如果右键单击未发布的分支,它应该出现在结果上下文菜单中。 – jamill

+0

此外,我去了未同步的提交页面,但“同步”,“拉/推”的选项是灰色的。在推动之前,我需要做些设置吗? –

4

您需要在线GitHub库添加为在本地的git回购远程。

在命令行上,即git remote add origin <urL>;我不知道VS git UI是否暴露了这一点。

+0

我得到'命令的语法不正确',url参数是我的git hub帐户上的回购地址? –

+0

否;它是回购页面右下角的URL字段 – SLaks

+0

好吧,我仍然收到相同的错误,是否有一组命令要在此行之前执行?目前我只是在cmd上打开git并执行上述命令。 –

2

我们使用Atlassian的藏匿处,但也发现了Visual Studio的UI位在第一混乱。对于我们来说,作品使用只有UI,顺序如下:

  1. 首先你要增加你的“用户名”和电子邮件地址,通过团队资源管理器>首页>的Git Git的全局设置> Git设置
  2. 在“解决方案资源管理器”选项卡上,右键单击解决方案,然后选择“将解决方案添加到源代码管理”并选择Git。
  3. 在“团队资源管理器”选项卡上,单击您刚刚创建的回购并转到分支
  4. 选择主分支,右键单击它并选择“发布” - 您将被要求输入远程URL你进入它,你会得到一个用户名/密码提示(即GitHub上,藏匿等远程服务器)
    • 这一切正在做的是git push origin master但微软选择使其混乱给予它的另一个名字。完成
  5. 等待“发布”(会有在UI显示文件传输状态)
  6. 一旦完成,进入到提交标签,你会看到,所有的选项推/拉/取等可

注:如果在本地创建另一个分支,你要努力,ER“发布”,即一个以及远程知道它之前。

最后说明: Visual Studio不会为您在远程创建项目和回购。在将分支推送到远程设备之前,必须确保回放已设置在远程设备上。

奇怪的问题:我们发现,如果试图推到一个分支,但失败(由于不正确的URL或权限问题),我们不得不回到命令提示符“修理”远程配置回购/分支。这是使用标准的Git命令:

git remote add origin https://[email protected]/scm/myproject/myrepo.git

+0

更新:Visual Studio 2015(Enterprise)会自动从您的/ git repo文件夹中读取配置。我不需要在IDE中进行任何设置。 – Shane

0

你发布一个分支,如@ jamill的答案你可能会遇到在此之后。

在团队资源管理器中,我能够发布分支,但后来我什么也做不了。推拉都变灰,如下所示:

enter image description here

所以我做操作>打开命令提示符。然后键入:

git push origin My_Branch_Name 

这样做后,我可以看到分支和我的提交在我的远程。 (Github或你的情况)。同样运行该命令时,输出表示,

remote: Create pull request for My_Branch_Name: 

如果你要保持这个分支并将其合并到高手,那么你可以创建你的遥控器上拉请求。否则就像我的情况,我想放弃分支。你不必做任何事情。

+0

有点奇怪。我想我只是使用Visual Studio中的UI才能使用它。也许这是一个UI的事情。我右键单击分支并做了“发布”。耸肩。 – Jess