git - 如何将提交推送到由气隙分隔的远程 Git 存储库?

标签 git

我和我的团队在不同的网络上工作。我们没有互联网连接,也不共享同一个网络。因此,我们传输文件的唯一方法是使用拇指驱动器。

我可以提交到远程 Git 存储库的唯一方法是使用我同事的计算机,该计算机可以通过网络访问 Git 服务器。我必须运行什么命令才能获取、 merge 然后将我的提交推送到她的计算机上,而不是将我的整个工作目录转移过来?

比如说,只传输远程服务器缺少的提交。

编辑:我忘了提到作为安全措施的一部分,拇指驱动器可能会定期删除。不过,拇指驱动器上的远程 repo 仍然是一个不错的主意!

最佳答案

你可以在文件系统上设置一个 git 远程,所以我假设如果你在他们的机器上安装你的拇指驱动器,他们可以将你的 repo 添加为远程并 merge 你的更改

# Mount thumbdrive
# Add a remote to the filesystem
git remote add cardin_usb /Volumes/myusb # or whatever the usb path is

# pull in the changes
git fetch cardin_usb
# merge any branches as per normal eg
git checkout master
git merge cardin_usb/my_feature

编辑 - 只需阅读您想要进行的更改即可。如果您知道远程服务器的最后一次提交,您可以生成补丁:

git format-patch lastServerCommit^..HEAD --stdout > new_changes.patch

然后通过 usb 传输,您的同事可以提交。

关于git - 如何将提交推送到由气隙分隔的远程 Git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30613896/

相关文章:

git - unity3d和git子模块可以吗?

git - 如何执行非交互式 git pull?

linux - 如何编辑 .gitignore 文件

java - 从 jgit 中的提交获取存储库

git - 在 Git 中重新进行还原 merge

git - 为什么我必须在切换分支之前存储/提交我的更改?

Git跳过目录及其子目录中所有跟踪文件的工作树

git - 运行 git clean -X 时保留一些 gitignored 文件

git - 确定哪个提交更改了子模块指针的 Git 命令是什么?

git - 为什么我必须将现有的 Git 存储库设置为 "clone"才能访问它?