解决放错位置的.git目录(无提交)

我开始收到此消息。 无论我编辑什么并尝试提交,它都说没有什么要提交。 看起来git看不到我的工作目录,而看不到其他地方。

如果我运行git status,则输出相同:

nothing to commit (working directory clean)

如果我创建新分支并编辑某些内容,则会发生相同的情况。 当我需要修复合并冲突时,这开始发生。 当我想将一个分支与master分支合并时,我必须手动对其进行修复,并且我的文件必须看起来像该分支中的一样,覆盖了master分支中的相同文件。 因此,我添加了这些文件,并使其合并。 但是,无论我进行什么更改,它都显示没有要提交的内容。

在这里可以做什么?

Andrius asked 2020-06-17T11:39:18Z
16个解决方案
22 votes

发现出了什么问题。 我不明白该怎么做,但是.git目录路径以某种方式更改为不同于我正在使用的路径。因此,我所做的更改均未检查,因为git正在其他位置进行检查。 我注意到它,当我重新初始化它时,它表明它重新初始化了完全不同的目录。 当我从当前目录cd ..重新回到cd,然后再次初始化时,它又切换回正确的.git目录,并开始看到我的更改。

Andrius answered 2020-06-17T11:39:27Z
7 votes

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

palerdot answered 2020-06-17T11:39:48Z
7 votes

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

  1. 删除.git存储库git push -u origin master
  2. 现在再次重复使用git push -u origin master 初始化git repo
  3. 然后git push -u origin master
  4. git push -u origin master
  5. git push -u origin master 输入用户名和密码之后,您就可以开始了
Mahi answered 2020-06-17T11:40:30Z
3 votes

检查该位置是否是git项目的正确位置。

Gank answered 2020-06-17T11:40:50Z
3 votes

在分支机构主管问题,如果遇到此问题,已经没有任何内容可以提交(工作目录干净),那么只需使用以下命令

git push -u origin master

要么

git reset
git add .
git commit -m "your commit message"
git push -u origin master
Anuj answered 2020-06-17T11:41:15Z
2 votes

对于任何看到此问题的人,我发现的最简单的解决方案是仅“ git clone”您的存储库并删除旧目录。 默认情况下,这应该正确设置路径。

kaid answered 2020-06-17T11:41:35Z
2 votes

我遇到过同样的问题。 我正在处理的分支没有被跟踪。 解决方法是:

git push orgin

这是暂时修复的。 要进行相关更改,我:

git config push.default tracking
Jon Kennedy answered 2020-06-17T11:41:59Z
2 votes

在我的情况下,我之前已经初始化了一个git目录,试图在其中创建一个新目录。 我只是删除了所有旧文件,然后从头开始。

Leviathan answered 2020-06-17T11:42:19Z
1 votes

这是另一回事。 我的.gitignore文件似乎已被修改/损坏,因此我忽略了一个文件

例如

/Project/Folder/StyleCop.cache

更改为此(现在注意两行)

/Project/Folder
StyleCop.cache

因此git忽略了我添加到项目及以下项目中的所有文件。

非常奇怪,不知道如何更改.gitignore文件,但花了我一段时间才发现。 一旦修复,我添加的数百个css和js文件就进入了。

richardb answered 2020-06-17T11:42:57Z
1 votes

在使用SourceTree时遇到此问题,通过

  1. 首先,存储您当前未提交的更改。
  2. 使用Sourcetree应用/取消隐藏相同的更改。

像魅力一样工作。

rustylepord answered 2020-06-17T11:43:29Z
0 votes

我自己遇到了这个问题,因为我放在错误的文件夹中。 我嵌套在1级,所以没有git文件。

当我执行cd ..到正确的目录时,我能够按预期进行提交。

pinkeangstio answered 2020-06-17T11:43:54Z
0 votes

尝试先删除原点,然后再添加原点

git remote rm origin
git remote add origin https://github.com/abc/xyz.git
khalidh answered 2020-06-17T11:44:14Z
0 votes

不要尝试提交/添加文件。 只需运行以下2条命令(:

    git remote add origin http://xyzremotedir/xyzgitproject.git
    git push origin master
Walk answered 2020-06-17T11:44:34Z
0 votes

转到您的工作区文件夹

  1. 查找.git文件夹
  2. 删除文件夹及其内容
  3. 使用git init命令进行初始化。

现在它将显示所有文件都可以提交的内容。

Gerald Amalraj answered 2020-06-17T11:45:11Z
0 votes

在使用角度CLI 6.1.2时,我也遇到了git的相同问题。 使用Angular CLI创建新的angular项目时,Angular CLI 6.1.2会自动初始化.git文件夹。 所以当我尝试git status时-它没有检测到整个工作目录。

我刚刚从角度工作目录中删除了隐藏的.git文件夹,然后再次使用git init初始化了git仓库。 现在,我可以看到所有具有git状态的文件。

Ankit answered 2020-06-17T11:45:36Z
-2 votes

如果您的目录中已经存在.git,请按照以下步骤操作:

  1. git push origin master
  2. git push origin master
  3. git push origin master
  4. git push origin master
  5. git push origin master
anshu agarwal answered 2020-06-17T11:50:02Z
translate from https://stackoverflow.com:/questions/22067873/troubleshooting-misplaced-git-directory-nothing-to-commit