将文件提交回GitHub for Windows

时间:2012-10-29 05:53:12

标签: git github

我和我的同事正在开发一个Android项目,他最近设置了一个GitHub回购 https://github.com。在我的最后,我在我的64位Windows 7机器上下载并安装了GitHub for Windows。然后我继续前往GitHub上的回购并使用“在Windows中克隆”按钮克隆项目。

Clone in Windows

一切似乎进展顺利,项目在

C:\Android\git-repos\OurProject

在我的机器上。然后我对文件进行了一些更改

C:\Android\git-repos\OurProject\Host\Android\src\com\ourproject\client\SettingsActivity.java

然后我观察到更改的文件(以及一些更改的构建文件)确实显示在我的机器上的GitHub版本上,如此

http://s11.postimage.org/k8o91hq37/changes_on_github.png

我选择了“SettingsActivity.java”文件,填写了简短说明并点击了“Commit”按钮。然后我看到了以下屏幕

http://s16.postimage.org/yier6czf9/unsynced_commits.png

然后,当我点击'sync'

sync

希望我所做的更改会被推回到主仓库,我收到了以下消息

unstaged changes
You cannot sync with unstaged changes. Please commit your changes and try again.

为什么我收到此错误消息?

我确实看过这个帖子

What's the unstaged changes in github?

似乎必须执行以下步骤

  1. git add
  2. git commit
  3. git push
  4. 但是来自这个帖子

    What does GitHub for Windows' "sync" do?

    可能会出现'同步'按钮全部三个?所以,我不确定如何准确地提交我的提交。我认为我已经提交了我的更改(在上一步中)意味着我已经将它们上演了,这就是提供同步选项的原因。解决这个问题的任何帮助都会受到高度赞赏。

    P.S:我也联系了GitHub支持团队,并在下面发布了他们的解决方案。

2 个答案:

答案 0 :(得分:7)

只是为了补充VonC写的内容......

每次我尝试点击“同步”时间。按钮,我看到了以下屏幕

Unstaged Changes

在阅读了他的建议之后,我点击了“打开外壳”#39;并键入

git stash

它显示了类似的内容

Power Shell

在此之后,我能够点击同步'按钮,它能够成功同步。

阅读VonC评论后添加

但是,在将该文件成功添加到repo之后,我注意到其他两个构建文件(' BuildConfig.java'和#39; project.properties')未显示在适用于Windows的GitHub。因此,在阅读VonC的建议后,我输入了

git stash pop

在先前打开的shell中,然后两个文件再次出现在GitHub for Windows上。

从GitHub支持中听取后添加

不幸的是,当您有未分阶段的更改或文件时,您无法同步。但有一个解决方法:

  1. 提交工作目录中的所有内容(使用提交消息" WIP"或者"正在进行的工作"
  2. 同步。
  3. 选择" WIP"提交并单击"回滚到此提交"按钮。
  4. 同步时,将从服务器提交的提交结束时进行本地提交。

答案 1 :(得分:1)

您提交了一个文件,但并非所有文件 您将无法与工作树同步,包括一些进展中的变化 所述更改需要隐藏,(仅限命令行,根据" GitHub - Unsynchronized Commit?"),或先提交(如this gist中所述)。