我有一个git checkout.所有文件权限都不同于git认为应该是的权限,因此它们都显示为已修改.
在不触及文件内容的情况下(只想修改权限)如何将所有文件权限设置为git认为应该是什么?
标题说明了一切.
之后git reset --hard,git status给我Changes not staged for commit:部分内的文件.
我也尝试了git reset .,git checkout -- .并且git checkout-index -f -a无济于事.
那么,我怎样才能摆脱那些未分阶段的变化呢?
这似乎只打击Visual Studio项目文件.奇怪的.请参阅此粘贴:http://pastebin.com/eFZwPn9Z.这些文件的特殊之处在于.gitattributes我有:
*.sln eol=crlf
*.vcproj eol=crlf
*.vcxproj* eol=crlf
Run Code Online (Sandbox Code Playgroud)
此外,autocrlf在我的全局中设置为false .gitconfig.这可能是某种相关的吗?
$ git ls-tree fb3a8bdd0ce
100644 blob 63c918c667fa005ff12ad89437f2fdc80926e21c .gitignore
100644 blob 5529b198e8d14decbe4ad99db3f7fb632de0439d .mailmap
100644 blob 6ff87c4664981e4397625791c8ea3bbb5f2279a3 COPYING
040000 tree 2fb783e477100ce076f6bf57e4a6f026013dc745 Documentation
100755 blob 3c0032cec592a765692234f1cba47dfdcc3a9200 GIT-VERSION-GEN
100644 blob 289b046a443c0647624607d471289b2c7dcd470b INSTALL
100644 blob 4eb463797adc693dc168b926b6932ff53f17d0b1 Makefile
100644 blob 548142c327a6790ff8821d67c2ee1eff7a656b52 README
...
Run Code Online (Sandbox Code Playgroud)
我知道最后3个八位数字是文件模式,但前3位是什么?我在git用户手册中找不到它.
我需要还原部署的本地更改.(我svn revert在旧的skool SVN时代已经习惯了.)
我正在使用git reset --hard HEAD这个.(此外git fetch和git merge origin/$branch --no-ff用于与上游分支同步处理资料.)
但有些文章指出git checkout -f要恢复变化.
这些命令之间的主要区别是什么.推荐哪种方式?
我正在尝试查看未分阶段的单个文件的更改.
首先我git status用来查看所有未分级的更改
然后例如:
git diff AndroidManifest.xml
Run Code Online (Sandbox Code Playgroud)
但我得到了这个输出
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
old mode 100755
new mode 100644
Run Code Online (Sandbox Code Playgroud)
这意味着什么以及如何查看特定文件的更改
我对他和他们的意思完全混淆了.在这个特定的情况下,我有一个功能分支,我刚刚压缩了大约80个提交,rebase -i并将其合并回来develop.我遇到了一些冲突,我只想使用我的功能分支上的任何代码.我试过"我的",但实际上似乎反其道而行之.
有人可以对这个术语有所了解吗?
我目前正在我的一个本地硬盘上设置git,但最终会将我所有的git repos移动到另一个硬盘(我想从我自己的文件中分割我的工作文件,但我还没有驱动器).是否可以通过拖放将这些本地工作git repos移动到新的hdds?
我有一台Mac OSX Lion,我正在为使用我家用NAS服务器作为母舰的多台mac设置本地存储库.我仍然是这个git的初学者,所以任何提示都非常感谢.谢谢!
这是我的系统对话:
unrollme-dev-dan:views Dan$ git reset --hard HEAD
HEAD is now at 3f225e9 Fix scan titles
unrollme-dev-dan:views Dan$ git status
# On branch master
# 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: app/signup/finish.html
# modified: app/signup/scan.html
#
Run Code Online (Sandbox Code Playgroud)
我将autocrlf设置为false:
unrollme-dev-dan:unroll-website Dan$ git config core.autocrlf
unrollme-dev-dan:unroll-website Dan$
unrollme-dev-dan:unroll-website Dan$ git config --global core.autocrlf
unrollme-dev-dan:unroll-website Dan$
Run Code Online (Sandbox Code Playgroud)
而且我没有任何.gitattributes文件弄乱了这个:
unrollme-dev-dan:unroll-website Dan$ find …Run Code Online (Sandbox Code Playgroud)对于上下文,我正在经历这个问题并试图解决它:Git in Visual studio code 说文件已修改,即使没有更改我在 Windows 10 计算机上使用 cygwin,但我所有的同事都使用 Mac。
得票最高的答案是git config core.filemode false,但我无法弄清楚这样做的后果。安全吗?这是否意味着如果我创建一个 shell 脚本,推送它会丢失可执行位?这是否意味着当我提取新的可执行文件时,它将丢失可执行位?如果有的话,有哪些陷阱?
我已经检查了文档,但它也没有回答这个问题,它只是解释了您何时需要更改它。
git ×10
cygwin ×1
file ×1
git-branch ×1
git-flow ×1
git-ls-tree ×1
git-pull ×1
git-reset ×1
nas ×1
newline ×1
repository ×1