我开始收到此消息。无论我编辑和尝试提交什么,它都说没有什么可以提交的。看起来git没有看到我的工作目录并且正在寻找其他地方。
如果我运行git status
,它会输出相同的内容:
nothing to commit (working directory clean)
如果我创建新分支并编辑某些内容,则会发生同样的事情。当我需要修复合并冲突时,这种情况就开始发生了。当我想将我的一个分支与主分支合并时,我不得不手动修复它,我需要我的文件看起来与该分支一样覆盖主分支那些相同的文件。所以我添加了这些文件,让我合并它。但是无论我改变什么,它表明没有什么可以提交。
这里可以做些什么?
答案 0 :(得分:21)
发现了什么问题。我不明白怎么做,但是.git
目录路径以某种方式被改变到了我工作的其他路径。所以我改变的任何东西都没有被检查,因为git在其他地方检查。我注意到了,当我重新初始化它时,它表明它重新初始化了完全不同的目录。当我从当前目录cd ..
和cd
再次返回然后再次重新初始化时,它会切换回正确的.git
目录并开始查看我的更改。
答案 1 :(得分:7)
对于在公共开源项目中工作的人,如果您遇到此行为,很可能是您正在编辑的文件使用.gitignore
从git存储库中排除。我遇到了同样的行为,几小时后我发现我正在进行更改的文件被.gitignore
排除,因为它是一个设置文件,每个人都有自己的本地版本。
答案 2 :(得分:6)
这一定是因为你错误地在同一目录中重新初始化了git。 使用以下命令删除 .git 文件夹 转到要上载的存储库 打开终端,然后使用以下命令
sudo rm -r .git
git init
git commit -m "first commit"
git remote add origin https://github.com/user_name/repo
git push -u origin master
之后输入用户名和密码,你就可以了答案 3 :(得分:3)
检查位置是否是git项目的正确位置。
答案 4 :(得分:2)
对于任何人看到这个问题,我发现最简单的解决方案就是" git clone"你的repo并删除旧目录。这应默认设置正确的路径。
答案 5 :(得分:2)
我有同样的问题。我正在处理的分支机构没有被跟踪。修复是:
git push orgin
这暂时修复了它。为了有针对性地做出改变我:
git config push.default tracking
答案 6 :(得分:2)
在我的情况下,我之前已经初始化了一个git目录,我试图创建一个新目录。我刚刚删除了所有旧文件并从头开始。
答案 7 :(得分:1)
这是另一个转折点。我的.gitignore文件似乎已被修改/损坏,因此我忽略了一个文件
e.g。
/Project/Folder/StyleCop.cache
改为此(现在请注意2个单独的行)
/Project/Folder
StyleCop.cache
所以git忽略了我添加到项目及其下面的任何文件。
非常奇怪,不知道.gitignore文件是如何更改的,但我花了一段时间才发现。修复后,我添加了数百个css和js文件。
答案 8 :(得分:1)
使用 SourceTree 时遇到此问题,通过
修复此问题像魅力一样工作。
答案 9 :(得分:1)
在分支主机上 它已经提交的问题没有提交(工作目录清理)如果遇到这个问题那么只需使用以下命令
git push -u origin master
或
git reset
git add .
git commit -m "your commit message"
git push -u origin master
答案 10 :(得分:1)
转到工作区文件夹
现在它将显示所有文件可以提交的内容。
答案 11 :(得分:0)
我自己就是这个问题,因为我在错误的文件夹中。我嵌套了1级,所以没有找到git文件。
当我执行cd ..
到正确的目录时,我能够按预期提交。
答案 12 :(得分:0)
尝试先删除原点然后重新添加
git remote rm origin
git remote add origin https://github.com/abc/xyz.git
答案 13 :(得分:0)
不要尝试提交/添加文件。只需运行以下2个命令(:
git remote add origin http://xyzremotedir/xyzgitproject.git git push origin master
答案 14 :(得分:0)
如果您的目录中已经存在.git,请按照:
rm -rf .git/
git init
git remote add origin http://xyzremotedir/xyzgitproject.git
git commit -m "do commit"
git push origin master
答案 15 :(得分:0)
在使用角度CLI 6.1.2时,我也遇到了git的相同问题。使用Angular CLI创建新的Angle项目时,Angular CLI 6.1.2会自动初始化.git文件夹。所以当我尝试git status时-它没有检测到整个工作目录。
我刚刚从角度工作目录中删除了隐藏的.git文件夹,然后再次使用git init初始化了git仓库。现在,我可以看到所有具有git状态的文件。