相关疑难解决方法(0)

如何从Git中的非分段更改中删除说"旧模式100755新模式100644"的文件?

出于某种原因,当我最初从存储库中获取我的git项目时,我在工作副本中获得了大量文件,这些文件没有对它们进行任何可识别的更改,但是仍然在我的unstaged changes区域中出现.

我在Windows XP上使用Git Gui,当我去查看文件时看看有什么变化.我只看到:

old mode 100755  
new mode 100644  
Run Code Online (Sandbox Code Playgroud)

有谁知道这意味着什么?

如何从我的未分级更改列表中获取这些文件?(非常讨厌必须通过100个文件,只是挑选我最近编辑过的文件并想要提交).

git git-gui

673
推荐指数
8
解决办法
17万
查看次数

git diff - 告诉我行结束的变化?

我的编辑器正在更改源文件的行结尾.当我这样做的时候git diff,我会看到两次相同的线 - 一次一次,-一次一次+- 没有明显的区别.

我该如何git diff告诉我实际上这个变化是什么?

git line-endings git-diff

71
推荐指数
5
解决办法
4万
查看次数

自动将"git update-index --chmod = + x"应用于可执行文件

我经常将bash脚本添加到我的git存储库中,并且脚本在之前的linux文件系统中具有可执行权限git add.但是,在将添加的文件推送到远程存储库并拉入另一个位置之后,这些文件将显示为具有非可执行权限.似乎有两种方法可以解决问题:

1. chmod u+x $script 
   git commit -am "fixing the script permissions... again..."
Run Code Online (Sandbox Code Playgroud)

要么

2. git update-index --chmod=+x $script
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以让git简单地查看脚本上的文件权限git add,并认识到"嘿,这是一个可执行文件!" 并直接使用exectuable权限将其添加到存储库?

git executable file-permissions

55
推荐指数
4
解决办法
5万
查看次数

git告诉我,我的文件已经更改,但我看不出有任何区别

我刚刚安装了最新的Git(1.9.5),突然它告诉我我的工作树不干净(更改没有上演),但我看不到任何差异工具中任何文件的任何变化(我尝试过Tortoise和Visual Studio的内置功能).当我运行git status时,它说:

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:   inc/i_lab_orders.asp
        modified:   lab_order_list.asp
        modified:   slib/lab_order_lib.asp
Run Code Online (Sandbox Code Playgroud)

但是,Git GUI的diff工具告诉我所有的行都被改变了,但是我找不到任何区别.与git bash的差异相同.

运行git reset --hard根本没有帮助 - 命令执行没有任何问题,但最后我仍然有相同的"已更改"文件.

更新:core.autocrlf为false,core.fileMode也为false.我还注意到,报告要更改的文件正是在上次提交时提交的文件.

我在Windows上.

git diff tortoisegit

4
推荐指数
1
解决办法
1018
查看次数

从远程git仓库更新本地git repo force.(胖客户端部署)

更新:我认为这与windows git客户端msysgit的问题有关.很抱歉打扰你们.http://code.google.com/p/msysgit/issues/detail?id=379&colspec=ID%20Type%20Status%20Priority%20Component%20Owner%20Summary

我正在寻找一种方法来保持几个客户端盒与远程git仓库同步.从远程仓库强制更新并放弃客户端盒上可能已更改的任何内容.

我遇到的问题是客户端盒子会修改一些文件(安装日志等),当我需要从远程仓库更新它们时,会给我一个合并的噩梦.我已经尝试了几个命令来尝试重置他们的本地更改(本地更改应该被放弃),但似乎没有像广告中那样工作(git reset --hard).

我不想做克隆,然后删除这些框上的.git目录,因为我更喜欢它们只更新更改而不是每次都拉下整个仓库.

有任何想法吗?

git merge clone copy repository

2
推荐指数
1
解决办法
2988
查看次数