当git config --global用于设置时,它将写入哪个文件?
例:
git config --global core.editor "blah"
Run Code Online (Sandbox Code Playgroud)
我在这些地方找不到它:
C:\Program Files\Git\etc\gitconfig
C:\myapp\.git\config
Run Code Online (Sandbox Code Playgroud)
我还没有设置ENV?
我的Git版本:1.6.5.1.1367.gcd48 - 在Windows 7上
遇到中型项目的问题,因为git将它们视为文本和合并,因此Visual Studio项目文件会出现问题.我想将文件设置为二进制文件,以便git不会自动合并这些文件.
有没有办法做到这一点?
包括该行时
*.py diff=python
Run Code Online (Sandbox Code Playgroud)
在本地.gitattributes文件中,git diff为不同的Python文件(具有更改所在的函数的名称等)生成漂亮的标签.
是否有可能要求git对所有 git项目中的所有 Python文件使用此diff模式?我尝试设置全局〜/ .gitattributes,但本地git存储库不使用它.有没有比使用?初始化每个新git项目更方便的方法?ln -s ~/.gitattributes
我想用eol=LF我的.gitattributes文件,但我想它适用于仅将文件的Git自动确定为文本文件.
我能找到的最好的方法是将特定的文件扩展名/ globs定义为文本或二进制文件.这并不理想,因为列表可能很大.我试过了* text=auto eol=LF,但eol=LF部件似乎覆盖了auto部分.
我可以在不需要特定git config设置的情况下强制LF行结尾,并且不会丢失自动文本/二进制推断吗?
我在Windows上,我已core.autocrlf禁用:
$ git config core.autocrlf; git config --global core.autocrlf
false
false
Run Code Online (Sandbox Code Playgroud)
现在,我认为,git不会破坏任何行结尾,但我的仓库中的一些文件会导致问题.
我刚刚克隆了一份repo的新副本,git已经告诉我有没有分期更改.当我git diff -R,我可以看到CRLF行结尾已添加到文件中:
diff --git b/nginx-1.11.1/contrib/geo2nginx.pl a/nginx-1.11.1/contrib/geo2nginx.pl
index bc8af46..29243ec 100644
--- b/nginx-1.11.1/contrib/geo2nginx.pl
+++ a/nginx-1.11.1/contrib/geo2nginx.pl
@@ -1,58 +1,58 @@
-#!/usr/bin/perl -w
-
-# (c) Andrei Nigmatulin, 2005
+#!/usr/bin/perl -w^M
+^M
+# (c) Andrei Nigmatulin, 2005^M
Run Code Online (Sandbox Code Playgroud)
我不明白这些行结尾的来源,但我也无法"恢复"这种变化.当我再次签出文件时,它仍将在以后修改:
$ git checkout -f nginx-1.11.1/contrib/geo2nginx.pl
$ git status
On branch dev
Your branch is up-to-date with 'origin/dev'.
Changes not staged for commit:
(use "git add <file>..." to update what …Run Code Online (Sandbox Code Playgroud) 如果没有使用--file显式设置,则有四个文件,其中git config将搜索配置选项:
...
$(前缀)/etc/gitconfig
系统范围的配置文件.
什么是$(prefix)对$(prefix)/etc/gitconfig?
是否可以设置自定义工具以在Git中合并具有特定扩展名的文件?
感谢您的任何指示!
更新
我无法找到比定义自定义difftool更好的解决方案,并且像@jarodeells建议的那样手动调用它:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd="script.sh \"$LOCAL\" \"$REMOTE\""
Run Code Online (Sandbox Code Playgroud)
然后明确地调用它:
$ git difftool -t mydiff someFileWith.ext
Run Code Online (Sandbox Code Playgroud) 我有两个问题:
有没有办法查看.docx文件Github?我们已将所有作业上传到Github,但我们无法在浏览器中查看它.如果我们可以.docx在不下载文件的情况下在浏览器中查看这些文件,那就太好了.
如何使用git diff的.docx文件格式?我尝试使用catdoc但它对我不起作用.我想我以前曾git diff在Windows上用过这种.doc格式,但它在Mac上并不适用于我.
非常感谢.
这里的输出git log:
* 5a831fdb34f05edd62321d1193a96b8f96486d69 HEAD (HEAD, origin/work, work)
| LIB/xxx.cpp | Bin 592994 -> 593572 bytes
| LIB/xxx.h | 5 +++++
| LIB/bbb/xxx.h | 9 +++++++++
| LIB/aaa/xxx.cpp | Bin 321534 -> 321536 bytes
| LIB/aaa/yyy.cpp | 31 +++++++------------------------
| tests/aaa/xxx.cpp | 29 +++++++++++++++++++++++++++++
| tests/test_xxx.vcproj | 4 ++++
| 7 files changed, 54 insertions(+), 24 deletions(-)
Run Code Online (Sandbox Code Playgroud)
为什么它将某些文件视为二进制文件,而其他文件则不是?这给出了严重的问题,因为git也不想自动合并它们.因此几乎所有的merge/rebase/pull动作都变得很痛苦.
这是repo配置:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true …Run Code Online (Sandbox Code Playgroud)