Articles of git

通过batch file在GIT中创build修改文件的存档

我正在使用这个git命令来创build在特定提交中修改的文件的存档: git archive -o update.zip HEAD $(git diff –name-only COMMITID^) 其中COMMITID是我要归档的提交的ID。 这从命令行工作正常,但我想从batch file运行它。 以下是我正在使用的batch file的内容: git archive -o update.zip HEAD $(git diff –name-only %1^^) 其中%1是通过SourceTree传入的提交ID。 我遇到的问题是,从batch file运行时,此命令返回以下错误: 错误:未知选项`name-only' 我猜可能会有一些字符转义的问题,但我无法find具体的中断。 我将如何编写该git命令,以便它可以从batch file中工作? UPDATE 我尝试删除–name-only选项,并通过SourceTree尝试批处理脚本时收到以下错误: 致命的:找不到path:$(git 希望这有助于缩小可能发生的事情。 进一步更新 原来我的语法只是从特定的提交抓取修改的文件,但使用msandiford的答案是错误的我想出了这个batch file脚本,完美的作品: setlocal enabledelayedexpansion set output= for /f "delims=" %%a in ('git diff-tree –no-commit-id –name-only -r %1^^') do ( […]

在GitHub Windows客户端提交后文件不会同步?

经过多次尝试提交并同步后,我的部分文件不会同步到我的Github帐户。 我没有收到错误消息,但点击“同步”后,这些文件从未显示在我的帐户中。 截图:

Git(GitHub)在过去的date提交

我正在开发一个git项目(托pipe在GitHub上),并使用Gi​​tHub for Windows。 昨天,我取得了很大的成就,但GitHub for Windows保存(说它不能提交),我无法承诺。 我不想失去我的GitHub提交条纹,所以我想知道是否有任何方式提交过去的date,并与我的GitHub同步(如果这是可能的话)。 另外:我已经在git-bash中提交了我的提交,但尚未完成。

如何使“git分支”尊重Linux上的“core.ignorecase”标志?

我们正在使用位于办公室的Linux服务器上的远程Git存储库。 所有的客户端都是安装有Git Extensions的Windows PC作为客户端(使用msysgit运行)。 在客户端系统上,如果我尝试执行以下操作: git branch Branch1 git branch branch1 第二个命令会失败,告诉我具有该名称的分支已经存在。 这是我所期望的,因为我在git config中将core.ignorecase设置为true。 但是,如果我直接login到Linux系统并运行相同的命令,即使core.ignorecase标志设置为true,也会创build两个分支。 我会期望第二个命令也失败,因为我configuration存储库忽略的情况下,但标志在Linux系统上什么都不做,或者我错过了什么。 任何人都可以帮助我理解这个问题,因为我们计划将SCM从Source Safe迁移到Git,这个问题让我们感到害怕。 如果两个开发人员创build具有相同名称但不同情况的分支,并将结果推送到Linux存储库,会发生什么情况?

jenkins不能从git仓库使用windows批处理命令

当我build立我的jenkins项目我想拉我的git仓库所以代码是最新的,我可以看到git status和git –version正常,但是当它来到git pull控制台输出卡住加载像这个: 当我尝试命令提示符完全相同的命令和相同的目录,我可以在不到2秒成功拉动 jenkins命令和cmd命令有什么不同吗? 我使用Windows XP的SSH与git存储库进行身份validation。

如何使用Windows编辑器从cygwin添加分割Git diff hunk

我需要在做git add -p时候分割一个块。 但交互期间的e选项不起作用。 我将解释为什么它不工作,并询问我能做些什么来使其工作。 所以我的大块可能看起来像下面的代码。 从其他研究中我已经知道,我应该使用e选项,然后我的编辑会拿出大块的线,我可以删除我不想要的。 + virtual bool fat() const { + return true; + } + virtual bool lazy() const { + return true; + } 很明显,我想提交只是脂肪的方法,并保留另一个提交懒惰的方法。 问题是,我从Cygwin运行Git,并且编辑器设置如下: export EDITOR=/cygdrive/c/csm/notepad2/Notepad2.exe 顺便说一句,当我提交消息,这完美启动编辑器。 当我检查编辑器的命令行时,它看起来像 c:\csm\notepad2\Notepad2.exe /home/csm/path/to/my/code/.git/addp-hunk-edit.diff 显然这是Windows和Cygwin像两种非混合的东西混合在一起的时代之一,但是我想要一个解决scheme来弥合这个差距,而不是使用一些基于Cygwin的编辑器。 我相信cygwin和windows git-path混淆的问题与我的相反,因为我使用Cygwin附带的Git,并且希望使用Windows辅助工具,而该问题旨在将Windows原生的Git与一个Cygwin shell环境。

有没有工具来pipe理在Windows上的git大二进制文件?

我已经熟悉一般问题的答案,如何在git(或大量文件)中pipe理大型二进制文件。 我看了git-annex , bup和git-media。 没有人声称Windows用户访问非常好。 有没有这样的程序在Windows上运行良好? 要添加上下文,我试图版本控制我的系统部署位:操作系统映像,驱动程序,第三方安装程序,第一方安装程序(我们的应用程序)。 我需要把所有东西放在一个连贯的包(标签)中。 并能够获得我们的任何活动版本的整个捆绑。

无法启动Git Bash

无法启动Git Bash,不知道堆栈中的错误发生在哪里。 运行Windows 10,Git Bash,ConEmu和Vagrant。 当我通过ConEmu或应用程序直接启动Git Bash时,会收到以下消息: 0 [main] bash 4696 fork: child 528 – died waiting for dll loading, errno 11 bash: fork: retry: No child processes 1263234 [main] bash 4696 fork: child 684 – died waiting for dll loading, errno 11 bash: fork: retry: No child processes 3519490 [main] bash 4696 fork: child […]

如何在Parallels中运行Windows 8的Mac上设置Git

我想知道什么是在MacBook Pro上安装Git的最佳方式,在Parallels中,OS X Mountain Lion 10.8与Windows 8 Pro? 我不太确定什么是最好的工作stream程。 我应该在两个平台上安装Git,还是应该将所有文件存储在一个平台上,然后安装Git? 我问的原因是因为我打算在学校项目上使用Windows上的Visual Studio,并使用Sublime Text / XCode来处理Web开发和iOS应用程序。 谢谢。

Git – 切换分支(窗口)&uncommited更改

我很难理解一些git / DCVS的概念。 以下是发生的事情: 我创build了一个git项目,并从SVN仓库导入 我做了一些提交 我想尝试一些东西,所以我创build了一个名为constants-update的分支 我切换到常量更新分支,移动了一些文件,删除了其他人,并添加了更多 我致力于这个分支 现在我正在尝试使用git checkout master切换到我的主分支 我得到这个错误: 错误:你有本地修改'src / groovy / Constants.groovy'; 不能切换分支。 我对DCVS的理解是,只要我提交了我的文件,即使某些分支文件比其他文件多或less,也可以随意切换分支。 我试着提交git commit -a并切换到主分支,但我有同样的错误。 作为一个侧面说明,当我提交git警告我LF将被CRLF取代,并警告我一些尾随的空格; 在我提交后,我做了一个git status ,一堆文件总是显示为#modified … 这是相关的混帐/ 窗户 ,或者我不明白它应该发生什么? 我只想切换到我的主分支, 而不会丢失其他分支中的更改 。