有没有一种简单的方法可以从git中的给定提交或一系列提交中仅导出/存档已更改的文件?我似乎无法找到明确的指示(我是Linux/Git的新手).
我正在使用msysgit,并且在大多数情况下我可以部署整个存储库,但在许多情况下,一次部署一些文件的小修补程序要高效得多.
在远程服务器上推/拉/安装git实际上并不是一个选项,因为我的访问级别因项目和客户端而异.
是否有一种直接的方式(粗略猜测):
pipe 'diff --names-only' to 'git-archive'?
Run Code Online (Sandbox Code Playgroud) 我已经"设置-A-msysgit服务器与- copssh式窗口",以下蒂姆戴维斯的指导,现在我正在学习如何使用Git命令,以下杰森Meridth的指导,我设法得到一切工作正常,但现在我无法通过push命令.
我已将服务器和客户端设置在同一台机器上(现在),win7-x64.
以下是有关如何设置的一些信息:
CopSSH Folder : C:/SSH/
Local Home Folder : C:/Users/rvc/
Remote Home Folder: C:/SSH/home/rvc/ # aka /cygdrive/c/SSH/home/rvc/
git remote rep : C:/SSH/home/rvc/myapp.git # empty rep
Run Code Online (Sandbox Code Playgroud)
在'/SSH/home/rvc/.bashrc'和'Users/rvc/.bashrc':
export HOME=/cygdrive/c/SSH/home/rvc
gitpath='/cygdrive/c/Program Files (x86)/Git/bin'
gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${gitpath}:${gitcorepath}:${PATH}
Run Code Online (Sandbox Code Playgroud)
所以,克隆工作(下面的所有内容都是通过"Git Bash here"完成的:P):
rvc@RVC-DESKTOP /c/code
$ git clone ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
Initialized empty Git repository in C:/code/myapp/.git/
warning: You appear to have cloned an empty repository.
rvc@RVC-DESKTOP /c/code
$ cd myapp
rvc@RVC-DESKTOP /c/code/myapp (master)
$ git remote -v
origin ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git …Run Code Online (Sandbox Code Playgroud) 我对Git很新,我有一个小问题.
在SVN [这感觉就像阿尔伯特叔叔的傻瓜和马的故事......"在战争期间......"]当我想用最新的更改来更新生产网站时,我会在TSVN中做一个差异并导出所有两个修订版之间更改/添加的文件.您可以想象,之后很容易将这些文件存入生产站点.
但是,似乎我无法在Git中找到"导出已更改的文件"选项.我可以做差异并看到更改,我可以得到一个文件列表,但我实际上无法导出它们.有合理的方法吗?我错过了一些简单的事吗?
为了再次澄清,我需要导出两个特定提交之间的所有更改.
提前致谢!
我第一次尝试使用GitHub,但是在尝试正确验证许多问题之后,我已经设法通过git@github.com进行身份验证并创建了一个repo,但是当我尝试"git push origin master"时我收到以下错误:
$ git push origin master
error: cannot spawn : No such file or directory
fatal: unable to fork
Run Code Online (Sandbox Code Playgroud)
我无法找到错误的任何原因或在故障排除页面中的任何解释,任何人都可以建议为什么我可能会得到该错误.
我已经指定/添加了远程路径,如下所示:
$ git remote add origin git@github.com:christopherdebeer/yUML-Diagram.git
Run Code Online (Sandbox Code Playgroud)
请帮忙.
这也是运行mysysgit(1.7.0.2)和使用git bash的Windows 7机器上的全部内容.
re:问题313,GIT_SSH变量中的空格,不能解决我的问题如下:
$GIT_SSH="c:/putty/plink.exe"
Run Code Online (Sandbox Code Playgroud) 当我添加一个新的工具git-gui,该对话框表明我可以使用一些变量传递给工具($REVISION,$ARGS,$FILENAME).
是否还有其他未记录的参数(例如当前的repo目录等)?为什么它们不包含在文档中git-gui?
我目前的用例是我有两个启用/禁用预提交挂钩的脚本.目前,我必须打开我的Windows资源管理器并双击批处理文件,这有点笨拙.更简单的方法就是直接用git-gui...
作为一个替代(副问题),我也有兴趣绕过预提交钩子(即提交--no-verify时传递)git-gui.
1)运行Git Bash(C:\ Program Files(x86)\ Git\bin\sh.exe --login)
$ ssh -v git@github.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/Alexander Fedorov/.ssh/config
debug1: Applying options for github.com
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
...
Hi xpoft! You've successfully authenticated, but GitHub does not provide shell access.
...
Run Code Online (Sandbox Code Playgroud)
好的!ssh配置好读.
2)从cmd.exe运行
C:\Users\Alexander Fedorov>ssh.exe -v git@github.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to github.com [207.97.227.239] port 22.
...
debug1: No more authentication methods to try.
Permission denied …Run Code Online (Sandbox Code Playgroud) 我试图在Windows上使用gvimdiff作为git的mergetool.以前我在控制台模式下使用了vimdiff,但是我知道我对限制视图Windows控制台大小感到不满意,所以我试图切换到gvimdiff,它有更灵活的方法来设置窗口大小.
但是git mergetool现在试着打电话我收到的错误对我来说并不清楚:
The merge tool gvimdiff is not available as 'gvim'
如何解决这个问题?
gvimfor Windows是安装的,可通过命令行访问.gvimdiff命令也是如此.
我试图找到在git脚本中引发此错误的地方,但目前没有运气.
我有时必须在Windows中工作,这通常意味着使用Bash shell.如果我(例如)在vim(不 gvim)打开了几个文件,并且我CtrlZ在返回之前简单地回到shell并做了一些事情vim,而不是暂停我的vim进程,Git Bash创建了一个新的DOS shell.这是我想要的最后一件事. 谷歌搜索没有任何用处(在这个时间点 - 我未来的YMMV).到底是怎么回事?
我总是问自己一些关于我创建的分支的问题,我还没有确定如何完成:
现在我想如果弄清楚如何获取所有提交给分支但没有合并到master中的提交的哈希值git cherry master <branchname>.有了这个我可以通过哈希哈希并弄清楚一切,但如果你有很多提交,这可能是耗时的.请注意,我不想与当前的主人状态进行比较.我认为关键是要知道你创建分支的master的哈希值,但我不确定如何确定它.
我想在Git Bash中添加Vim中的Python支持,我该怎么做?
跑步时我弄错了:
:echo has('python')
Run Code Online (Sandbox Code Playgroud)