如何移动一个git存储库,其中存在已修改但未提交到其他服务器Linux的文件?

时间:2016-07-12 14:01:57

标签: git

在我的情况下,我还没有完成开发,但是我可以更改我的Linux服务器吗? 我想知道,如果有可能将我的git存储库 - 其中有许多文件已经修改但尚未提交 - 移动到另一个Linux服务器?

3 个答案:

答案 0 :(得分:3)

是的,每个git数据都在项目根目录的.git文件夹中,并且只引用相对路径。可以安全地移动项目(带有未提交的文件),并且git数据将继续运行。

您可以创建tarball以便轻松归档:

tar -cvzf ../$(basename $PWD).tar.gz .

这将在父目录(与项目并排)中创建一个.tar.gz文件,其名称与当前目录相同。请注意,您可以git gc清除不必要的git文件并优化本地存储库,从而使存档更小而不会丢失数据。

答案 1 :(得分:2)

如果你想保持现在的整个目录,只需将其打开并移动即可。

cd $GIT_REPO && { tar c . | gzip > /tmp/repo.tar.gz; }

答案 2 :(得分:1)

在每个分支中,您都进行了修改,未经修改的更改:

git stash --include-untracked

现在你的git repo处于一个明确的状态。你可以查看git status;然后更改您的服务器,在那里克隆您的repo,并且:

git stash pop --index

你现在处于和你离开时相同的位置。

请参阅:https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning