排除错误的.git目录(无需提交)

时间:2014-02-27 12:00:03

标签: git directory git-commit

我开始收到此消息。无论我编辑和尝试提交什么,它都说没有什么可以提交的。看起来git没有看到我的工作目录并且正在寻找其他地方。

如果我运行git status,它会输出相同的内容:

nothing to commit (working directory clean)

如果我创建新分支并编辑某些内容,则会发生同样的事情。当我需要修复合并冲突时,这种情况就开始发生了。当我想将我的一个分支与主分支合并时,我不得不手动修复它,我需要我的文件看起来与该分支一样覆盖主分支那些相同的文件。所以我添加了这些文件,让我合并它。但是无论我改变什么,它表明没有什么可以提交。

这里可以做些什么?

16 个答案:

答案 0 :(得分:21)

发现了什么问题。我不明白怎么做,但是.git目录路径以某种方式被改变到了我工作的其他路径。所以我改变的任何东西都没有被检查,因为git在其他地方检查。我注意到了,当我重新初始化它时,它表明它重新初始化了完全不同的目录。当我从当前目录cd ..cd再次返回然后再次重新初始化时,它会切换回正确的.git目录并开始查看我的更改。

答案 1 :(得分:7)

对于在公共开源项目中工作的人,如果您遇到此行为,很可能是您正在编辑的文件使用.gitignore从git存储库中排除。我遇到了同样的行为,几小时后我发现我正在进行更改的文件被.gitignore排除,因为它是一个设置文件,每个人都有自己的本地版本。

答案 2 :(得分:6)

这一定是因为你错误地在同一目录中重新初始化了git。 使用以下命令删除 .git 文件夹 转到要上载的存储库 打开终端,然后使用以下命令

  1. 删除 .git 存储库sudo rm -r .git
  2. 现在再次使用git init
  3. 初始化git repo
  4. 然后git commit -m "first commit"
  5. git remote add origin https://github.com/user_name/repo
  6. 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 时遇到此问题,通过

修复此问题
  1. 首先存储当前未提交的更改。
  2. 使用Sourcetree应用/取消暂存相同的更改。
  3. 像魅力一样工作。

答案 9 :(得分:1)

在分支主机上 它已经提交的问题没有提交(工作目录清理)如果遇到这个问题那么只需使用以下命令

git push -u origin master

git reset
git add .
git commit -m "your commit message"
git push -u origin master

答案 10 :(得分:1)

转到工作区文件夹

  1. 找到.git文件夹
  2. 删除文件夹及其内容
  3. 使用git init命令初始化。
  4. 现在它将显示所有文件可以提交的内容。

答案 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,请按照:

  1. rm -rf .git/
  2. git init
  3. git remote add origin http://xyzremotedir/xyzgitproject.git
  4. git commit -m "do commit"
  5. 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状态的文件。