我已经玩了一段时间了,我非常喜欢它.让我来描述我的情况.
我有两台计算机,我有我的存储库和远程存储库.
在我的文件中,我有一个配置文件,在两台计算机上都不同.因此,当我拉动我的计算机时,我不需要拉动配置文件,而是其他所有内容.我怎样才能做到这一点?
我已经阅读了.gitignore文件,但我无法弄清楚它们是如何工作的,或者它们是我需要的东西.
我有一个粗略的想法,git.cmd只是一个包装器(但默认添加到PATH),但我发现git.exe也可以工作,我打算用它来解决这个问题(对它的评论) ,关于XP64上的chcp).不建议出于任何原因吗?另外,首先真的需要git.cmd吗?
注意:我所指的chcp问题不是由丢失的PATH条目引起的,因为'chcp'不被识别为内部或外部命令,可操作程序或批处理文件.在Windows PC上
我已经成功地使用了Windows上的Git Bash中的一些颜色设置 - 我可以设置一些东西,比如本地的颜色,我.gitconfig文件中的当前和远程分支:
[color "branch"]
current = cyan bold
local = cyan
remote = red
Run Code Online (Sandbox Code Playgroud)
但我没有设法改变的是提示的颜色 - username@machine在行的开头(在我的屏幕截图中的黄色矩形中),以及我当前正在使用的项目和分支(紫色矩形).

有没有办法影响那些?.gitconfig我需要设置哪些设置来更改这些颜色?
我似乎无法掌握两者之间的差异.
似乎one(GNUWin32)是一个在windows(如MSYS)之上的层,而
另一个(cygwin)是另一个(?)
那是什么意思?我何时会使用一个而不是另一个?他们都适合同样的事情吗?
我想把它主要用于git,但是想要保持我的选择开放学习和做所有事情*nixy.
还有其他工具吗?会msysgit更适合这个吗?
是否有任何资源能够详尽地解决所有这些*nix平台的差异?
我正在尝试使用git的新(作为git 1.7.11)目录diff命令与Beyond Compare 3作为difftool,但是没有创建临时文件.
例如:
git difftool --dir-diff <branch1> <branch2>
Beyond Compare打开与正确目录和列出的已更改文件的目录比较.
但是,当我点击任何文件时,我收到以下错误:
Unable to load C:\Users\<username>\AppData\Local\Temp\git-difftool.yG8V5\left\<path to some file>: The system cannot find the path specified
所以,我检查一下C:\Users\<username>\AppData\Local\Temp\git-difftool.yG8V5目录是否存在而不是.
超越比较3作为非目录差异和合并的difftool工作正常.
我正在使用git for Windows(msysgit)1.8.0.
以下是相关的.gitconfig设置:
# External Visual Diff/Merge Tool
[diff]
tool = bc3
[difftool "bc3"]
path = "C:/Program Files (x86)/Beyond Compare 3/BComp.exe"
[merge]
tool = bc3
[mergetool "bc3"]
keepTemporaries = false
trustExitCode = true
keepBackup = false
path = "C:/Program Files (x86)/Beyond Compare 3/BComp.exe"
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Git而且我可能错过了一些明显的东西,但是这里有:
我正在尝试整理一个包装脚本,我可以使用它来用DiffMerge替换内置的git diff.基于SO 上的这个线程,我创建了以下批处理文件:
@echo off
REM ---- Switch forward slashes to back slashes ----
set oldW=%2
set oldW=%oldW:/=\%
set newW=%5
set newW=%newW:/=\%
REM ---- Launch DiffMerge ----
"C:/Programs/SourceGear/DiffMerge/DiffMerge.exe" /title1="Old Version" %oldW% /title2="New Version" %newW%
Run Code Online (Sandbox Code Playgroud)
我将bat文件放在%GIT_INSTALL%/ cmd下并编辑了我的.gitconfig文件,如下所示:
[diff]
external = C:/Programs/git/cmd/git-diff-wrapper.bat
Run Code Online (Sandbox Code Playgroud)
如果我启动Git Bash并执行git diff HEAD HEAD~ - myfile
我收到一条消息File (\dev\null) not found- 鉴于我在Windows上并不奇怪.
按下,我启动了gitk,在Edit> Preferences下,我选择了相同的包装脚本.尝试特定文件的"外部差异"选项会产生神秘的错误消息Unknown Option "
很明显,我不知道我在做什么,所以任何帮助都会非常感激.
我如何让git在Windows中显示命令行帮助?
我正在使用msysgit 1.7.4.
在浏览器中打开html帮助是默认的.
我只想在控制台上显示文本帮助.
我见过config help.format(默认情况下设置为html).我尝试将此设置为man或info,但它只是说:
fatal: no info viewer handled the request
Run Code Online (Sandbox Code Playgroud)
谢谢,亚光
我正在尝试bash_profile为msysgit添加一个函数:
function git-unpushed {
brinfo=$(git branch -v | grep git-branch-name)
if [[ $brinfo =~ ("[ahead "([[:digit:]]*)]) ]]
then
echo "(${BASH_REMATCH[2]})"
fi
}
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
bash:条件二元运算符expected`
bash:语法错误附近
=~'
从我能找到的,"equals tilde"operator(=~)在bash中评估为正则表达式.
为什么会=~抛出错误?
更新:这是手动输入它的截图(这是运行sh.exe):

我正在尝试将项目从SVN迁移到git.这是我使用的命令:
$ git svn clone http://oursvnserver/ --no-metadata -A ../authors-transform.txt --trunk=path/to/trunk --branches=path/to/branches --tags=path/to/tags . --username=mysvnusername --prefix=origin/
Run Code Online (Sandbox Code Playgroud)
当前目录是我想成为存储库的目录.authors-transform.txt绝对是在正确的位置.该项目使用标准布局,但它不存在于存储库的根目录中.(遗憾的是,有人早就开始只是馅所有项目到同一仓库的做法.这就是为什么我指定--trunk,--branches和--tags.)看来退房罚款.然后我尝试生成一个忽略文件,并得到这个令人难以置信的神秘错误:
$ git svn show-ignore
config --get svn-remote.svn.fetch :refs/remotes/git-svn$: command returned error: 1
Run Code Online (Sandbox Code Playgroud)
它似乎在这个过程中运行了一些其他命令,所以我做了一些猜测:
$ git config --get svn-remote.svn.fetch :refs/remotes/git-svn || echo $?
1
$ git config --get svn-remote.svn.fetch :refs/remotes/git-svn$ || echo $?
1
Run Code Online (Sandbox Code Playgroud)
所以也许我正在猜测它正在调用什么命令?但这并没有真正帮助.
这个错误究竟意味着什么?我可以尝试解决这个问题?
使用msysgit 1.9.4.
我的项目有许多测试PC,100%的网络外.我们使用USB驱动器也可以从这些PC传输文件.在这些PC的测试期间发生了一些开发.我们传输更新文件的拉链,并在zip文件的名称中编码"版本信息".
我的问题是如何最好地使用Git来管理项目的办公室PC和测试PC之间的sneakernet文件传输(或repos,或什么?).对于笔记本电脑用户而言,这种"用例"通常不会出现在"网外"并且在某个角落咖啡馆中开发,后来又重新上网.
有没有人在这种情况下有经验?
另请参阅git bundle create --all answer以传输完整的repo