从新克隆的存储库到分支的Git签出导致该分支中的未分级更改

ri5b6

我有一个奇怪的git问题。检出其中一个分支(可远程跟踪)后,我立即在该分支中进行了修改和未分段的更改。我已再次克隆存储库以验证问题仍然存在。

我正在使用Windows和gitblit作为Git服务器。

您有什么想法为什么会发生这种情况?

git status的输出如下:

$ git status
# On branch RSD-5393
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   apis.releng/cquery/apis.RSD-4780.cquery
#       modified:   apis.releng/cquery/apis.RSD-4782.cquery
#       modified:   apis.releng/cquery/apis.RSD-4786.cquery
#       modified:   apis.releng/cquery/apis.RSD-4799.cquery
#       modified:   apis.releng/cquery/apis.RSD-4812.cquery
#       modified:   apis.releng/cquery/apis.RSD-4815.cquery
#       modified:   apis.releng/cquery/apis.RSD-4821.cquery
#       modified:   apis.releng/cquery/apis.RSD-4823.cquery
#       modified:   apis.releng/cquery/apis.RSD-4826.cquery
#       modified:   apis.releng/cquery/apis.RSD-4827.cquery
#       modified:   apis.releng/cquery/apis.RSD-4828.cquery
#       modified:   apis.releng/cquery/apis.RSD-4829.cquery
#       modified:   apis.releng/cquery/apis.RSD-4831.cquery
#       modified:   apis.releng/cquery/apis.RSD-4846.cquery
#       modified:   apis.releng/cquery/apis.RSD-4861.cquery
#       modified:   apis.releng/cquery/apis.RSD-4862.cquery
#       modified:   apis.releng/cquery/apis.RSD-4863.cquery
#       modified:   apis.releng/cquery/apis.RSD-4864.cquery
#       modified:   apis.releng/cquery/apis.RSD-4865.cquery
#       modified:   apis.releng/cquery/apis.RSD-4866.cquery
#       ....
no changes added to commit (use "git add" and/or "git commit -a")

.gitconfig:

[core]
autocrlf = true

.gitattributes在存储库中:

# Set the default behaviour, in case people don't have core.autocrlf set.
* text=auto
萨莎·沃尔夫(Sascha Wolf)

发生这种情况有多种原因。

  1. 您已core.autocrlf启用设置
  2. 您有一个.gitattributes带有smudgetext过滤器文件

一些背景

autocrlf尝试解决跨平台开发的行尾难题,但通常会导致超出解决方案的问题。在将文件添加到资源库时,
它将Windows样式的行尾(\r\n)转换为Unix样式的行尾(\n在Windows计算机上工作时,检出文件时会将其转换回Windows样式的行尾。

尽管总体思路还不错,但是它可能会导致严重的问题,尤其是在二进制文件上运行amok时。因此,大多数情况下,自己处理行尾是一个明智的选择。

您可以查看此问题以获取有关的更多信息autocrlf

使用.gitattributes文件时,smudge过滤器可能会在结帐时修改您的文件。或者,即使您禁用了text属性,也可以将其用于启用autocrlf.gitconfig


可能的解决方案

您可能的解决方案是autocrlf全局禁用git config --global core.autocrlf false)并* text=auto.gitattributes文件中删除该
您应该继续提交.gitattributes文件并将其推送到远程。

与其他所有提交一样,您必须自己确保所做的更改在希望它们进行的所有分支上都可用。它们不会在整个存储库中神奇地可用。

在那之后,一个克隆有望产生一个干净的工作目录。


最后说明

通常git应该忽略autocrlfed文件,以避免像您当前所遇到的那样混乱的状态输出,但这似乎并不总是有效。避免的另一个原因autocrlf

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从新克隆的存储库到分支的Git签出导致该分支中的未分级更改

来自分类Dev

git从已签出的存储到分支

来自分类Dev

如何在不使用jgit签出的情况下在远程存储库中创建git分支

来自分类Dev

克隆我编辑的分支git存储库时,更改不会反映出来,而是克隆原始存储库

来自分类Dev

SVN 到 GIT - 多分支存储库

来自分类Dev

如何更改克隆的Git存储库的“ master”分支以指向您自己的遥控器?

来自分类Dev

如何更改克隆的Git存储库的“ master”分支以指向您自己的遥控器?

来自分类Dev

git pull是否只将更改合并到签出的分支中?

来自分类Dev

git:合并分支中的更改,该分支还原了先前的合并

来自分类Dev

如何从远程存储库正确签出分支

来自分类Dev

如何从存储库中签出分支

来自分类Dev

在GIT中在本地上克隆特定存储库分支的最简单/最快方法是什么

来自分类Dev

跟踪裸git存储库中的分支?

来自分类Dev

签出新分支,然后运行“ git reset --hard”时,丢失原始分支中未保存的更改

来自分类Dev

更改已签出的分支

来自分类Dev

Git-远程分支分支的存储库

来自分类Dev

Git分支作为存储库

来自分类Dev

在git中更改分支会导致文件更改

来自分类Dev

如何在Git存储库中的所有分支中查找文件的更改?

来自分类Dev

在Git存储库中切换分支时,文件系统中修改的日期不会更改

来自分类Dev

在不相关的文件夹中,如何命令存储库签出分支?

来自分类Dev

如果我在分支中存储更改然后删除该分支会发生什么

来自分类Dev

分支名称中的空格导致 SVN 到 GIT 迁移问题

来自分类Dev

如何从不签出该分支的远程分支创建本地分支?

来自分类Dev

为什么克隆存储库中的“ git status”相对于源远程而不是我创建的存储库中检查当前分支

来自分类Dev

git-使用现有分支,但将最新分支从当前分支复制到该分支

来自分类Dev

无法签出远程git分支

来自分类Dev

Git:在签出之前更新分支

来自分类Dev

从GIT克隆分支

Related 相关文章

  1. 1

    从新克隆的存储库到分支的Git签出导致该分支中的未分级更改

  2. 2

    git从已签出的存储到分支

  3. 3

    如何在不使用jgit签出的情况下在远程存储库中创建git分支

  4. 4

    克隆我编辑的分支git存储库时,更改不会反映出来,而是克隆原始存储库

  5. 5

    SVN 到 GIT - 多分支存储库

  6. 6

    如何更改克隆的Git存储库的“ master”分支以指向您自己的遥控器?

  7. 7

    如何更改克隆的Git存储库的“ master”分支以指向您自己的遥控器?

  8. 8

    git pull是否只将更改合并到签出的分支中?

  9. 9

    git:合并分支中的更改,该分支还原了先前的合并

  10. 10

    如何从远程存储库正确签出分支

  11. 11

    如何从存储库中签出分支

  12. 12

    在GIT中在本地上克隆特定存储库分支的最简单/最快方法是什么

  13. 13

    跟踪裸git存储库中的分支?

  14. 14

    签出新分支,然后运行“ git reset --hard”时,丢失原始分支中未保存的更改

  15. 15

    更改已签出的分支

  16. 16

    Git-远程分支分支的存储库

  17. 17

    Git分支作为存储库

  18. 18

    在git中更改分支会导致文件更改

  19. 19

    如何在Git存储库中的所有分支中查找文件的更改?

  20. 20

    在Git存储库中切换分支时,文件系统中修改的日期不会更改

  21. 21

    在不相关的文件夹中,如何命令存储库签出分支?

  22. 22

    如果我在分支中存储更改然后删除该分支会发生什么

  23. 23

    分支名称中的空格导致 SVN 到 GIT 迁移问题

  24. 24

    如何从不签出该分支的远程分支创建本地分支?

  25. 25

    为什么克隆存储库中的“ git status”相对于源远程而不是我创建的存储库中检查当前分支

  26. 26

    git-使用现有分支,但将最新分支从当前分支复制到该分支

  27. 27

    无法签出远程git分支

  28. 28

    Git:在签出之前更新分支

  29. 29

    从GIT克隆分支

热门标签

归档