标签: msysgit

在msysgit上使用gitk

我正在尝试在mysysgit上使用gitk.我没有使用Cygwin或MinGW来运行mysysgit,只是Windows上的直接DOS命令提示符.

gitk文件位于bin /文件夹中,但它不是可执行文件,因此当我输入时,gitk我得到:

'gitk'不被识别为内部或外部命令,可操作程序或批处理文件.

git msysgit gitk

7
推荐指数
1
解决办法
921
查看次数

cygwin git 认为该文件以前具有不同的模式

我为 cygwin 手动构建了最新版本的 git。唯一的问题是它认为文件模式改变了(从 644 到 755)。安装在 Windows 中的 Git 看不到任何变化。实际文件模式为 755(windows Git 和 cygwin git 显示相同)。

因此,因此,1) 在 windows 上 git 不显示任何更改,无论core.filemode设置为 true 还是 false 2) 在 cygwin 上,git 显示模式的更改,如果core.filemode设置为 true 或未设置,并且在core.filemode设置时不显示任何更改to false 实际文件模式为 755。

所以,我的问题是,windows git (msysgit) 中是否有一个错误 (featue) 模拟core.filemode = false无视选项集。或者 cygwin git 显示错误的先前文件模式。我想这是第一个,因为文件是 xml 类型。

git cygwin msysgit

7
推荐指数
1
解决办法
962
查看次数

带有 autocrlf=true 的 Git 按原样检查带有混合行尾的文件

所以,我一直认为在将文件检出到工作目录时,core.autocrlf=trueGit 会替换所有LF结尾CRLF

Git 书

如果您使用的是 Windows 计算机,请将其设置为 true – 这会在您检出代码时将 LF 结尾转换为 CRLF

但是,当检出具有混合行尾并core.autocrlf设置为的文件时true,我的 Git 版本会按原样检出文件。

我找到了一个非常方便的 GitHub 存储库来测试这种行为 - https://github.com/YueLinHo/TestAutoCrlf

检测结果:

  • LF只有结尾的文件(LF.txt)
    • 使用autocrlf=false:按原样签出(所有行结尾都是LF
    • With autocrlf=trueCRLF结账时所有行尾都更改为

到目前为止一切顺利,一切都符合我的预期。现在对于混合行结尾的文件:

  • 具有混合行尾的文件(MIX-more_CRLF.txt、MIX-more_LF.txt)
    • 随着autocrlf=false:签出原样(的混合LFCRLF
    • 随着autocrlf=true:签出原样(的混合LFCRLF

为什么会发生这种情况?我没有看到任何关于autocrlf=true不接触带有混合行尾的文件的内容。

我的 Git 设置有问题吗?在全局 .gitconfig 中签出后,我检查了存储库文件夹中core.autocrlf运行的设置,命令返回 true。没有 .gitattributes 文件来覆盖设置。git config --get core.autocrlfautocrlf=true …

git newline line-endings msysgit core.autocrlf

7
推荐指数
1
解决办法
2209
查看次数

GitHub noobian,我应该安装msysGit还是Cygwin?

我打算将GitHubGit Extensions一起使用,并可能与FogBugz(可选)集成.

查看下载页面并阅读一些相当技术性的半相关问题,我想看看你认为在Windows 7上安装会更好,因为我想与Visual Studio 2008集成(认为这将通过GitExtensions).

两者之间的直接答案(msysGit或Cygwin?)会很棒,但是对于开始使用GitHub的任何更简单的建议都会受到欢迎,或者如果我确实完全错过了这个标记(这有关系吗?).将从Subversion导入.

cygwin github msysgit windows-7 git-extensions

6
推荐指数
2
解决办法
2853
查看次数

对于带有子文件夹的"git add",这个git是否正确?

当使用带有文件模式的"git add"时,它只递归地添加未跟踪的文件,并忽略已更改的文件,除非它们在当前文件夹中.

例:

$ git status
# On branch master
# Changed but not updated:
#    (use "git add <file>..." to update what will be committed)
#    (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:    level1/test1.txt
#       modified:    level1/level2/test1.txt
#
# Untracked files:
#   (use "git add <file>..." to incldude in what will be committed)
# 
#       level1/test2.txt
#       level1/level2/test2.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git …
Run Code Online (Sandbox Code Playgroud)

git msysgit

6
推荐指数
1
解决办法
929
查看次数

推荐多平台,便携式学习模式Git GUI?

任何关于良好的Git GUI的建议.理想情况下应具有以下特征:

  1. 不是非常有限,即可以支持相对复杂的功能,例如rebase,no-ff

  2. 显示以"学习模式"执行的Git命令,尤其是对于具有许多选项的命令

  3. 便携式(不需要安装窗户或即使只有窗户,也可以像便携式应用一样工作)

  4. 最好是多平台(所以我的linux机器和windows笔记本电脑之间没有学习曲线.

git msysgit portable-applications

6
推荐指数
1
解决办法
1107
查看次数

Windows计划任务git推送到github

我希望每天晚上都可以添加一个Windows Scheduled Task来git push to github.我有一个CMD文件.当我在Windows命令提示符下运行CMD文件时,它工作正常.但是,当我通过Windows计划任务运行它.它永远停滞不前.状态为"正在运行".从日志中我可以看到它成功启动了git bash shell.任何的想法?

echo git push > i:\gitpush
echo 'pushing' >>log1
C:\WINDOWS\SysWOW64\cmd.exe  /c ""C:\Program Files (x86)\Git\bin\sh.exe" --login i:\gitpush" >>log1 2>>error    
echo 'done pushing' >>log1
del i:\gitpush
Run Code Online (Sandbox Code Playgroud)

这是日志输出:

'pushing'
Welcome to Git (version 1.7.4-preview20110204)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
Run Code Online (Sandbox Code Playgroud)

然后我做了一个实验,将gitpush脚本重命名为错误的文件名.它会立即退出并出现错误"没有这样的文件或目录",这是预期的.它显示gitpush脚本正确传递给bash但由于某种原因它被卡住了.

我必须通过git bash shell的原因是因为我不知道如何在不使用git bash shell的情况下在windows命令行shell中设置公钥.

谢谢!

windows git github msysgit

6
推荐指数
1
解决办法
4708
查看次数

使用msysgit的文件模式

我在网络驱动器上使用msysgit(v1.7.7)从Windows克隆了一个Git存储库.某些文件在存储库中标记为具有模式100755.

使用Windows中的git bash工具,该ls -l命令有效地显示了这些文件的良好权限.现在,当我从Linux访问存储库目录时,这些文件具有644权限而不是755.

如果我在Linux端将它们chmod到755并返回到Windows上的git bash工具:

  • ls -l命令仍显示具有755权限的文件
  • 但该git diff命令告诉文件更改模式从100755到100644

知道如何在Windows上使用msysgit正确处理文件模式吗?

我在msysgit上发现了这个与我的问题相对应的问题http://code.google.com/p/msysgit/issues/detail?id=164 我尝试了git update-index --chmod=+x对我的文件提出的提示,但它没有改变任何东西.

git msysgit

6
推荐指数
1
解决办法
2528
查看次数

一个Git存储库,两个工作树

是否可以在同一本地存储库(== shared .git目录)中拥有两个工作树(两个不同的分支)?

git msysgit

6
推荐指数
1
解决办法
672
查看次数

Git在没有任何参数的情况下启动mergetool

在机器A上,git mergetool按预期运行Beyond Compare 3.在机器B上,BC3启动但未在命令行上传递任何参数,从而显示介绍屏幕而不是实际合并.

我将配置从机器A复制到机器B,并且git config --list与安装路径相同,并且push.default=simple:

merge.tool=bc3
mergetool.bc3='C:/Apps/BeyondCompare3/BCompare.exe'
mergetool.bc3.cmd='C:/Apps/BeyondCompare3/BCompare.exe'
mergetool.bc3.path=C:\Apps\BeyondCompare3\bcomp.exe
push.default=simple
Run Code Online (Sandbox Code Playgroud)

唯一的区别是机器A在Win7 64位下具有git 1.7.11,而机器B(不起作用的机器)在Win8 32位下具有git 1.8.4.

ProcessHacker显示机器A上的命令行(对于完全相同的存储库,位为位)是:

"c:\Program Files (x86)\Beyond Compare 3\bcomp.exe" 
        ./somefile.cs.LOCAL.4192.cs 
        ./somefile.cs.REMOTE.4192.cs
        ./somefile.cs.BASE.4192.cs
        -mergeoutput=somefile.cs /BCompWnd=$00140644
Run Code Online (Sandbox Code Playgroud)

在破碎的机器B上,它只是:

c:\Apps\BeyondCompare3\BCompare.exe
Run Code Online (Sandbox Code Playgroud)

我需要哪种神奇的咒语?

git msysgit git-merge

6
推荐指数
1
解决办法
229
查看次数