我是GIT的新手,如果这是一个基本问题,请道歉但是在搜索google和stackoverflow后我似乎无法找到类似的情况。这是我的情景: 我有一个git文件夹,其中包含我不执行任何提交的最新提交版本(我不会对本地目录中的代码进行任何更改)。其他人在他们的计算机上执行提交,我只需要获取特定的提交版本,将其复制到工作目录并构建代码。我打算制作一个程序,每天在重复循环中自动执行这些步骤。步骤总结如下:
我不确定这些步骤是否是正确/最好的方法。另外,如何正确执行#2以及如何确保我的程序检索到正确的提交版本? #3是否必要?或者我可以直接在repo_folder中构建代码(可能在构建后修改一些文件),然后执行git命令再次获取最新的提交版本?
这是我的步骤实际步骤
repo init -u ssh://username@git.aaa.com:1234 / manifest.git -b branch -m file.xml
repo sync
在获得最新的回购后,我搜索日志并执行git reset --hard
cd .repo / manifests
COMMITHASH =
git log --grep=$keyword | head -1 | cut -d' ' -f2
git reset --hard $ COMMITHASH
cp file.xml new_file.xml
repo init -m new_file.xml
执行此命令后,我不确定如何检查当前版本是否正确。
步骤3和4只是简单的复制和构建与此问题无关的命令。
cp -r repo_folder / folder1 work_folder / folder1 cp -r repo_folder / folder2 work_folder / folder2 运行build.bat
答案 0 :(得分:0)
只需clone
您的本地主人到新目录,然后checkout
到您当前需要的版本:
没有复制,也没有瞎扯。
git clone -l /path/to/master /path/to/working
cd /path/to/working
git checkout -f REV_OR_BRANCH_ID
如果您有任何生成的文件,例如对象,最好清理它们 - 例如在结帐后使用make clean
。
cd /path/to/working
git pull
git checkout -f REV_OR_BRANCH_ID