标签: msysgit

Git忽略特定文件

我已经玩了一段时间了,我非常喜欢它.让我来描述我的情况.

我有两台计算机,我有我的存储库和远程存储库.

在我的文件中,我有一个配置文件,在两台计算机上都不同.因此,当我拉动我的计算机时,我不需要拉动配置文件,而是其他所有内容.我怎样才能做到这一点?

我已经阅读了.gitignore文件,但我无法弄清楚它们是如何工作的,或者它们是我需要的东西.

git version-control msysgit

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

git.cmd vs git.exe - 有什么区别,应该使用哪一个?

我有一个粗略的想法,git.cmd只是一个包装器(但默认添加到PATH),但我发现git.exe也可以工作,我打算用它来解决这个问题(对它的评论) ,关于XP64上的chcp).不建议出于任何原因吗?另外,首先真的需要git.cmd吗?

注意:我所指的chcp问题不是由丢失的PATH条目引起的,因为'chcp'不被识别为内部或外部命令,可操作程序或批处理文件.在Windows PC上

windows git windows-xp msysgit

22
推荐指数
3
解决办法
2万
查看次数

在Windows上的Git Bash中设置提示颜色

我已经成功地使用了Windows上的Git Bash中的一些颜色设置 - 我可以设置一些东西,比如本地的颜色,我.gitconfig文件中的当前和远程分支:

[color "branch"]
current = cyan bold
local = cyan 
remote = red
Run Code Online (Sandbox Code Playgroud)

但我没有设法改变的是提示的颜色 - username@machine在行的开头(在我的屏幕截图中的黄色矩形中),以及我当前正在使用的项目和分支(紫色矩形).

在此输入图像描述

有没有办法影响那些?.gitconfig我需要设置哪些设置来更改这些颜色?

git bash msysgit

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

GNUWin32和cygwin之间的区别

我似乎无法掌握两者之间的差异.

似乎one(GNUWin32)是一个在windows(如MSYS)之上的层,而
另一个(cygwin)是另一个(?)

那是什么意思?我何时会使用一个而不是另一个?他们都适合同样的事情吗?

我想把它主要用于git,但是想要保持我的选择开放学习和做所有事情*nixy.

还有其他工具吗?会msysgit更适合这个吗?
是否有任何资源能够详尽地解决所有这些*nix平台的差异?

linux cygwin msys gnuwin32 msysgit

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

git difftool --dir-diff没有为Beyond Compare 3创建临时文件

我正在尝试使用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 msysgit beyondcompare3

22
推荐指数
3
解决办法
6735
查看次数

如何使用msysgit/gitk设置DiffMerge?

我刚刚开始使用Git而且我可能错过了一些明显的东西,但是这里有:

  • 我在Windows XP上使用msysgit 1.6.2.2
  • 在安装时,我选择了选项1"仅使用Git Bash"

我正在尝试整理一个包装脚本,我可以使用它来用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-xp diffmerge msysgit

21
推荐指数
3
解决办法
2万
查看次数

我如何让git在Windows中显示命令行帮助?

我如何让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)

谢谢,亚光

git msysgit

21
推荐指数
3
解决办法
3994
查看次数

msysgit bash中的语法错误=〜运算符

我正在尝试bash_profile添加一个函数:

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):

equals tilde(=〜)运算符失败的屏幕截图

windows bash msysgit

21
推荐指数
3
解决办法
8201
查看次数

git svn show-ignore给出错误"命令返回错误:1"

我正在尝试将项目从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.

git git-svn svnignore msysgit gitignore

21
推荐指数
1
解决办法
6535
查看次数

如何在sneakernet环境中使用Git?

我的项目有许多测试PC,100%的网络外.我们使用USB驱动器也可以从这些PC传输文件.在这些PC的测试期间发生了一些开发.我们传输更新文件的拉链,并在zip文件的名称中编码"版本信息".

我的问题是如何最好地使用Git来管理项目的办公室PC和测试PC之间的sneakernet文件传输(或repos,或什么?).对于笔记本电脑用户而言,这种"用例"通常不会出现在"网外"并且在某个角落咖啡馆中开发,后来又重新上网.

有没有人在这种情况下有经验?


另请参阅git bundle create --all answer以传输完整的repo

git version-control msysgit

20
推荐指数
2
解决办法
2822
查看次数