我正在使用msys-git并注意到在执行git pull之后我经常在输出中得到奇怪的字符.我认为这些是某些终端可能理解的某种控制字符,但在标准的Windows命令提示符下,它们会导致:
Source/MidiLib/AudioChannelMixer.cpp ?[m | 6 ?[32m+?[m
Source/MidiLib/AudioEnvironment.cpp ?[m | 4 ?[32m+?[m
Source/MidiLib/EventIDs.h ?[m | 1 ?[32m+?[m
Source/MidiLib/MidiAssignable.cpp ?[m | 207 ?[32m+++++++++++++++++++++++++?[m?[31m---?[m
Source/MidiLib/MidiAssignable.h ?[m | 39 ?[32m+++++?[m?[31m-?[m
Source/MidiLib/MidiAssignmentsDlg.cpp ?[m | 101 ?[32m++++++++++++?[m?[31m--?[m
Run Code Online (Sandbox Code Playgroud)
这不是一个真正的问题,但很烦人......是否有办法禁用这些字符并获得干净的输出?
使用MSYSGIT历史浏览器,我检出了一个特定的提交.这是一个错误 - 我试图查看文件,并认为我必须检查它们才能看到它们.
从那时起,我一直无法再向我的远程仓库推送提交(在GITHub上).我有点理解,虽然不完全.[我承认不完全了解结帐的工作方式,请温柔地对待一个菜鸟.]
如何撤消该结帐并将其恢复到以前的状态?
如果我右键单击"签出"提交,我会选择"删除此分支".是否会删除该提交的文件[bad]或者只是撤消签出?我吠叫错了树吗?
我在其他Windows机器上安装了msysgit,没有任何问题.在这个Vista 64位Ultimate盒子上,我安装了3个最新版本的msysgit.在所有三个安装中,当我在这里执行"git bash"时,我在命令窗口中得到了这个:
sh.exe": fork: Permission denied
sh.exe"-3.1$
Run Code Online (Sandbox Code Playgroud)
git命令不起作用.我收到相同的权限被拒绝消息.关于如何解决这个问题的任何线索?
更新
此外,当我在这里"git gui"时 - 我得到:
Cannot determine Git version.
couldn't execute "C\...\git-core\git.exe
Git Gui requires Git 1.5.0 or later
Run Code Online (Sandbox Code Playgroud)
我使用的是比1.5.0更新的版本.
嗨,我是Windows上没有经验的Git用户.我正在使用Git Gui.我对分行管理感兴趣.
我的repo有一个名为'leafy'的分支,我如何检查这个分支到我的本地机器,他们樱桃挑选一个主人提交到绿叶?
非常感谢
--MB
我开始使用git并且已经使用它几个月了,我很好奇我的工作流程是否正确.我在项目的两个不同的地方工作.这是我工作流程的各个阶段:
这是正确的项目工作方式吗?
我做了很少的搜索,并发现这个别名,以保持功能分支与开发分支同步,当我手动从Git bash运行时.
sync='!f() { echo Syncing this branch with develop && git checkout develop &&
git pull && git checkout – && git rebase develop; }; f'
Run Code Online (Sandbox Code Playgroud)
我尝试将此别名放在.gitconfig中但是我收到以下错误
error: pathspec '"\342\200\223"' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我找到的是git checkout - ,代表,回到你所在的最后一个分支创建了这个错误.
我也尝试将相同的命令放在.bashrc中,如下所示
alias sync='echo Syncing this branch with develop && git checkout develop && git pull
&& git checkout – && git rebase develop'
Run Code Online (Sandbox Code Playgroud)
这会产生同样的错误.
但是为了确保当我手动运行Git Bash中的所有命令时,它们都能正常工作,所以没有其他问题.似乎这只是因为msysgit或windows上的bash存在差异,因为我已经在Mac和Linux上阅读了这些别名对git的工作.
一些开明的头脑可以告诉我如何更改它以使其适用于Windows?
谢谢
我有一个项目,我在两个地方使用(我不使用git服务器).
当我在第二个地方复制项目时,我必须签入所有文件(但它们没有改变),git给我看了例子
@@ -1,8 +1,8 @@
-#Sat Mar 06 19:39:27 CET 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+#Sat Mar 06 19:39:27 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Run Code Online (Sandbox Code Playgroud)
我在两个地方做了命令,
git config --global core.autocrlf false
但它没有帮助解决这个问题
即时通讯使用git与java,所以我有深层嵌套的目录.以递归方式向git添加模式,我正在使用:
find . -iname "*.xml" | xargs git add
Run Code Online (Sandbox Code Playgroud)
它检测忽略的目录,如'bin'和中止(因为shell扩展了我的通配符,而不是git)
什么是更好的方式?
我在Windows上使用msysgit并编写了一个我想使用的简单shell脚本.我将.sh文件所在的文件夹添加到我的Windows计算机的PATH变量中,但是当我想使用我的脚本时,我必须输入rd.sh而不是简单的rd.
如何通过引用其名称rd而不是带有.sh文件扩展名(rd.sh)的完整文件名来使用它?
我一直在尝试在Windows 7 x86上的emacs shell(版本24)中进行git工作.(*)罪魁祸首实际上是ssh,这是行不通的.例如,输入:
ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)
无论在emacs内部使用哪种shell(emacs shell(又名eshell)或msys bash),都会永远挂起.在emacs之外,它工作得很好(在bash或cmd.exe中).
请注意-T参数,其中显示"不分配伪tty"(emacs无法分配伪tty,至少在Windows上不分配).所以这不是问题.
我尝试过使用MSYS(不是msys-git)或"Git for Windows"的ssh.exe.谨防!"Git for Windows"与"Github for Windows"不同."Git for Windows"是通过在msys-git(仅为此目的而存在的开发环境)下构建git而获得的二进制文件和支持实用程序的安装程序.出于这个原因,它"Git for Windows"经常被错误地称为msys-git.
输入"Github for Windows".使用他们的git/ssh版本,我可以在emacs shell下使用git和ssh.据我所知,该程序只是在包装下使用"Git for Windows".但是,它是一个修改过的版本.例如,etc/ssh/ssh_config添加了一个文件.
我已经确定某些配置etc/ssh/ssh_config是ssh的原始配置在emacs中工作.但是,仅凭这一点并不能解释它为什么会起作用,因为将此配置文件与"Git for Windows"一起使用并不起作用.
所以我想知道的是Github团队为了使其在emacs中工作而对"Git for Windows"所做的其他更改.
我甚至不确定"在emacs中工作"是一个预期的目标.这就是为什么这个问题的答案很重要的原因:如果未来版本的"Github for Windows"打破了emacs兼容性,我将无法在emacs shell中使用git.
(*)是的,我知道所有关于vc-git,magit,tramp等等.我不感兴趣.