我正在使用 Github for Windows 来管理多个 Git 存储库。对于新克隆的 repo 之一,似乎新创建的文件出现在“X files too becommitted”列表中,但点击Commit
按钮后,创建了一个新的提交,但新创建的文件仍未提交!
我可以一遍又一遍地继续提交相同的文件,每次都创建新的提交,但是除非我转到命令提示符并手动执行,否则新创建的文件根本不会提交git add .
Github for Windows 中是否有我错过的设置?
我正在使用 Github for Windows 来管理多个 Git 存储库。对于新克隆的 repo 之一,似乎新创建的文件出现在“X files too becommitted”列表中,但点击Commit
按钮后,创建了一个新的提交,但新创建的文件仍未提交!
我可以一遍又一遍地继续提交相同的文件,每次都创建新的提交,但是除非我转到命令提示符并手动执行,否则新创建的文件根本不会提交git add .
Github for Windows 中是否有我错过的设置?
其实我不认为你错过了什么。我刚刚对此进行了测试,这不是默认行为。通常在您提交后,文件应标记为未同步。当您单击Sync
按钮时,应将提交的更改推送到upstream
.
这很可能是一个错误。
提交前:
提交后:
尽我所能,GitHub for Windows 无法正确识别仅因行尾而异的文件差异(至少在我发现的场景中)。我有多个 javascript 文件,其中包括:
- (function(){
- function foo(){
- return 'bar';
- }
- )();
+ (function(){
+ function foo(){
+ return 'bar';
+ }
+ )();
乍一看,这没有任何意义。然后,在我查看它之后,差异是文件从\r\n
一行结束到\n
(或相反)。FWIW,我有以下设置.gitattributes
:
* text=auto
但是,我能够通过使用 shell 来解决它。首先,agit 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)有一个同步分支。