3

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

在 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

然后,当我点击“同步”

同步

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

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

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

我确实看过这个线程

github中的未分级更改是什么?

似乎必须执行以下步骤

  1. 混帐添加
  2. git 提交
  3. git 推送

但从这个线程

GitHub for Windows 的“同步”有什么作用?

似乎“同步”按钮可以完成所有三个操作?所以,我不确定如何准确地进行我的提交。我认为我已经提交了我的更改(在上一步中)这一事实意味着我已经上演了它们,这就是提供同步选项的原因。解决此问题的任何帮助将不胜感激。

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

4

2 回答 2

7

只是为了添加 VonC 写的内容......

每次我尝试点击“同步”按钮时,都会显示以下屏幕

未分阶段的更改

在阅读了他的建议后,我点击了“Open Shell”并输入

git stash

它显示了这样的东西

电源外壳

在此之后,我能够点击“同步”按钮并且它能够成功同步。

阅读VonC的评论后添加

但是,在将该文件成功添加到存储库后,我注意到其他两个构建文件(“BuildConfig.java”和“project.properties”)没有出现在 Windows 的 GitHub 中。所以,在阅读了 VonC 的建议后,我输入了

git stash pop

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

收到 GitHub 支持的回复后添加

不幸的是,当您有未暂存的更改或文件时,您无法同步。但是有一种解决方法:

  1. 提交工作目录中的所有内容(使用“WIP”的提交消息或“Work in Progress”的缩写)
  2. 同步。
  3. 选择“WIP”提交并单击“回滚到此提交”按钮。

当您同步时,会进行本地提交并将其放在您从服务器获得的提交的末尾。

于 2012-10-29T07:12:18.097 回答
1

您提交了一个文件,但不是所有文件。
您将无法与工作树同步,包括正在进行的一些更改。
所述更改需要隐藏(仅命令行,根据“ GitHub - Unsynchronized Commit? ”),或首先提交(如本要点中所述)。

于 2012-10-29T06:47:47.080 回答