我们已经开发了一个自动部署工具,用于在jboss服务器上部署文件(ear、war和jar)。开发人员会将文件提交到Visual Source Safe中。自动部署工具会自动检出由开发人员指定的最新文件,并使用API在jboss服务器上部署它们。现在我们正在转向GIT来维护我们的源代码和其他部署文件。
Git是否有像VSS一样检查单个文件和路径的选项?
我们已经开发了一个自动部署工具,用于在jboss服务器上部署文件(ear、war和jar)。开发人员会将文件提交到Visual Source Safe中。自动部署工具会自动检出由开发人员指定的最新文件,并使用API在jboss服务器上部署它们。现在我们正在转向GIT来维护我们的源代码和其他部署文件。
Git是否有像VSS一样检查单个文件和路径的选项?
git checkout <branch-where-the-file-is> -- path/to/file/in/the/other/branch
这将从另一个分支检索文件,到当前分支
git show HEAD:filename.txt
如果您的代码库在另一个目录中,您可以使用GIT_DIR
:
env GIT_DIR=/path/to/git/repo.git git show HEAD:filename.txt >filename.txt
gitk
轻松找到的SHA1 ID
。如果我只需要将该文件“checkout”到临时位置(即不还原),那么我将使用“show”子命令:git show 82e54378856215ef96c5db1ff1160a741b5dcd70:MyProj/proguard/mapping.txt > myproj_mapping.txt
。 - ef2011
git checkout --
这将撤销对该文件所做的所有更改,并还原为最新的提交状态。请注意,此操作不可逆,因此请确保在执行此命令之前已保存您需要保留的更改。另外,如果您只是想取消对文件的暂存更改(而不是工作目录中的更改),则可以使用以下命令:git reset HEAD
这将取消对该文件的暂存更改,并使其返回到未暂存的状态,但不会影响工作目录中的更改。 - Ahmed Kotb