有些人(我认为在1.6.x版本附近)git意识到了子模块内部的变化.那只会让我烦恼:
$ git status vendor | grep modified: # modified: vendor/rails (modified content)
$ git diff vendor/ diff --git a/vendor/rails b/vendor/rails --- a/vendor/rails +++ b/vendor/rails @@ -1 +1 @@ -Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f +Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f-dirty
请停止?
好的,我有答案.现在我有另一个问题:
我可以把它放进去~/.gitconfig吗?从我最初看起来我不能,并且我没有看到任何有希望通过略读补丁.(我想我仍然可以做别名.)
我使用我的个人笔记本电脑进行工作和个人项目,我想将我的工作电子邮件地址用于工作中的提交(gitolite)和我的个人电子邮件地址(github).
我读到了以下全球或临时解决方案:
git config --global user.email "bob@example.com"git config user.email "bob@example.com"git commit --author "Bob <bob@example.com>"GIT_AUTHOR_EMAIL,GIT_COMMITTER_EMAIL或EMAIL环境变量一种解决方案是手动运行shell函数,将我的环境设置为工作或个人,但我很确定我会经常忘记切换到正确的身份,导致提交错误的身份.
有没有办法将某个存储库,项目名称等绑定到身份(名称,电子邮件)?人们做什么?
从功能上讲,在分散的工作流程中,我没有看到配置设置simple和current选项之间的区别push.default.
current将当前分支推送到指定远程上的同名分支.simple对于当前分支的跟踪和任何未跟踪的遥控器,它将有效地做同样的事情(它在两种情况下都强制执行相同的分支名称).
有人可以解释我失去的分散工作流程之间的任何重要差异吗?
我可能会设置一个别名,但似乎我应该能够将其设置为配置文件中的一个选项,但我无论如何也看不到它.
我只想要--ignore-space-change我做差异的时候,而不是在我申请时或其他任何事情.我试图通过不使用对它们没有真正改变的无关+/-线来使差异更容易理解.
我在终端推送和拉动git然后我在github.com上更改了我的用户名.我去推了一些更改,它无法推送,因为它仍然识别我的旧用户名..如何在终端上的git上更改/更新我的用户名?
我想着色git-status输出,以便:
untracked files = magenta
new files = green
modified files = blue
deleted files = red
Run Code Online (Sandbox Code Playgroud)
我反而看到绿色和非分页文件中的分段文件为蓝色:

我的.gitconfig根据一些搜索设置如下:
[color]
status = auto
[color "status"]
added = green
changed = blue
untracked = magenta
deleted = red
Run Code Online (Sandbox Code Playgroud) 我不能在Ubuntu 14.04上使用git
错误信息是
git:致命的无法自动检测电子邮件地址(得到"一些错误的电子邮件")
我尝试使用和不使用--global选项设置user.name和user.mail的git-config但没有任何作用
我注意到core.autocrlf我跑的时候有两个列表git config -l
$ git config -l
core.symlinks=false
core.autocrlf=false
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=name
user.email=email@example.com
core.autocrlf=true
Run Code Online (Sandbox Code Playgroud)
最后3个(来自user.name)是我C:\users\username\.gitconfig文件中唯一的.所有其他的来自哪里?为什么core.autocrlf列出两次?
这是使用msysgit 1.8.3,我也安装了SourceTree(Windows 7).在SourceTree中,我取消选中"允许SourceTree修改全局Git配置文件"
我可以将参数传递给Git命令的别名吗?
我在Git配置中有一些别名,如下所示:
rb1 = rebase -i HEAD~1
rb2 = rebase -i HEAD~2
rb3 = rebase -i HEAD~3
rb4 = rebase -i HEAD~4
....
Run Code Online (Sandbox Code Playgroud)
是否可以制作rb别名,以便git rb <x>适用于任何<x>?
我试过这个别名:
rb = rebase -i HEAD~
Run Code Online (Sandbox Code Playgroud)
但后来例如git rb 8不起作用.
在制作我最喜欢的git日志视图时,我创建了这个别名:
graph = log --pretty=format:'%Cgreen%ad%Creset %C(yellow)%h%Creset%C(yellow)%d%Creset %s %C(cyan)[%an]%Creset %Cgreen(%ar)%Creset' --date=short --graph
这会创建一个输出,如:

我在这里缺少的是分支类型的不同颜色,如log --oneline --decorate --graph.

--decorate(默认情况下使用= short)为不同的识别分支提供不同的颜色.分支类型(HEAD, origin/master, origin/HEAD, master)为青色,红色,红色,绿色.然而我的没有色彩; 仅用整个分支部分的黄色着色.
有没有办法用不同的别名给不同种类的树枝赋予不同的颜色?
git-config ×10
git ×9
github ×2
config ×1
git-alias ×1
git-push ×1
git-status ×1
gitolite ×1
msysgit ×1