我正在使用Github for Windows来管理几个Git回购。对于一个新克隆的repo,似乎新创建的文件出现在'X files too be committed'列表中,但是在单击Commit
按钮后,会创建一个新的提交,但新创建的文件仍然是未提交!
我可以一遍又一遍地提交相同的文件,每次都创建新的提交,但是除非我转到命令提示符并手动执行git add .
我错过了Github for Windows中的设置吗?
答案 0 :(得分:6)
其实我不认为你错过任何东西。我刚测试了这个,这不是默认行为。通常在提交之后,文件应标记为未同步。单击Sync
按钮时,应将提交的更改推送到upstream
。
这很可能是一个错误。
提交前:
提交后:
答案 1 :(得分:1)
最好的我可以说,GitHub for Windows无法正确识别仅因行结尾而异的文件差异(至少在我发现的场景中)。我有多个javascript文件,包括:
- (function(){
- function foo(){
- return 'bar';
- }
- )();
+ (function(){
+ function foo(){
+ return 'bar';
+ }
+ )();
其中,乍一看没有意义。然后,在我查看之后,方差是文件从\r\n
行结束到\n
(或反向)。 FWIW,我在.gitattributes
中进行了以下设置:
* text=auto
但是,我能够通过使用shell来解决它。首先,git status
告诉我,我确实有几个文件经过修改(git甚至告诉我它们因行结尾而异):
.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in Project/Path/file.js
然后,我使用git commit -a
添加这些文件,最后git push
将它们发送到存储库。我现在(甚至根据GitHub for Windows)有一个syncd分支。