将文件提交回GitHub for Windows
我和我的同事正在做一个Android项目,他最近在我的电脑上建立了一个GitHub回购协议 . 最后,我在64位Windows7机器上下载并安装了GitHub for Windows。然后我转到GitHub上的repo,使用“在Windows中克隆”按钮克隆项目 一切似乎进展顺利,项目正在进行中将文件提交回GitHub for Windows,git,github,Git,Github,我和我的同事正在做一个Android项目,他最近在我的电脑上建立了一个GitHub回购协议 . 最后,我在64位Windows7机器上下载并安装了GitHub for Windows。然后我转到GitHub上的repo,使用“在Windows中克隆”按钮克隆项目 一切似乎进展顺利,项目正在进行中 C:\Android\git-repos\OurProject 在我的机器上。然后我对文件做了一些更改 C:\Android\git-repos\OurProject\Host\Android\sr
C:\Android\git-repos\OurProject
在我的机器上。然后我对文件做了一些更改
C:\Android\git-repos\OurProject\Host\Android\src\com\ourproject\client\SettingsActivity.java
然后我观察到更改的文件(以及一些更改的构建文件)确实出现在我的机器上的GitHub版本上,如下所示
我选择了“SettingsActivity.java
”文件,填写了一个简短的描述并点击了“Commit
”按钮。然后我看到了下面的屏幕
然后,当我点击“同步”时
我希望我所做的更改能被推回到主回购协议上,我得到了以下信息
unstaged changes
You cannot sync with unstaged changes. Please commit your changes and try again.
为什么我会收到这个错误消息
我确实看过这条线
看来,我们必须采取以下步骤
备注:我还联系了GitHub支持团队,并在下面发布了他们的解决方案。您提交了一个文件,但不是所有文件。
您将无法与包含某些正在进行的更改的工作树同步。
所述更改需要隐藏(仅限命令行,根据“”),或首先提交(如中所述)。只是为了添加到VonC编写的内容中 每次我尝试点击“同步”按钮时,我都会看到下面的屏幕 在阅读了他的建议后,我点击“OpenShell”并键入
git stash
它展示了这样的东西
在此之后,我能够点击“同步”按钮,它能够成功地同步
阅读VonC评论后添加
但是,在成功地将该文件添加到repo之后,我注意到其他两个构建文件('BuildConfig.java'和'project.properties')没有显示在GitHub for Windows中。所以,在读了VonC的建议后,我输入了
git stash pop
在先前打开的shell中,这两个文件再次出现在GitHub for Windows上
在听取GitHub支持部门的反馈后添加
很遗憾,当您有未老化的更改或文件时,无法同步。但有一个解决办法:
同步时,会进行本地提交,并将其放在从服务器获得的提交的末尾。谢谢。那么,这是否意味着我需要提交所有文件才能同步?@aLearner commit或stash(),但由于涉及到拉操作,Git需要一个干净的工作树才能实现同步。非常感谢!这确实奏效了。我会发布一个更详细的回复来补充你上面写的内容。很好的反馈和插图+1不要忘记使用
git stash pop
将正在进行的工作重新应用到(现在已同步)的工作树上。考虑将代码> >核心。AutoLoF 为false()。谢谢。我一定会更新上面的答案,以反映stash pop
的使用。我还将研究core.autocrlf
。因此我尝试研究core.autocrlf
,但我不确定我是否完全理解如何做到这一点:-/这样做的目的是确保git不会改变任何东西(根据换行符样式),除非您显式地(例如,在中)配置git来这样做:。所以:git config--global auto.corecrlf false
Cool。感谢您提供的信息和有用的参考资料。这真的很有帮助。