git diff在解压软件包后未显示差异

时间:2019-01-14 20:08:50

标签: git jenkins tar

我有一个project_1.0.3.356.tar.gz文件。我将需要解压缩该文件,然后提交到我的git repo。

我很确定代码已更改。但是当我解压缩文件并尝试下面的命令时,它没有检测到任何更改。

所有代码都包含在tar文件(project_1.0.3.356.tar.gz)中。它有多个文件夹。

步骤是:

从sftp服务器导入软件包

不带包装

然后执行以下shell命令。

git init
git remote add origin gitrepo
git pull origin master
git add .
git diff
git status
git commit -a -m "test"
git push origin master

1 个答案:

答案 0 :(得分:2)

尝试反转操作顺序:首先签出Repo,然后将tar球中的文件解压缩到其中:

git clone gitrepo
tar -xzf project_1.0.3.356.tar.gz
cd <projectdir>
git diff

仅当tar球使用与git clone创建的根目录相同的根目录名称时,此方法才能正常工作,因此您可能必须重命名目录以在两个操作之间进行匹配。

这种方法的总体思路是,您首先从Git服务器克隆(并检出)当前状态,然后将文件解压缩到其顶部,然后在本地更改所有文件。

如果git diff显示了您期望的更改,则可以执行提交并推送:

git add .
git commit -a -m test
git push