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