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 - 是否可以将 git 设置为具有不同的默认提取/推送位置,如果可以,如何设置?

git - 从 GitHub 推送到 Web 服务器

git - 从 gitolite 迁移到另一个托管的 GIT 存储库

git - merge 子树更改 - 致命 : invalid path 'somefile_BASE_20704.cs'

git - 理解 git commit --only 和 pre-commit 钩子(Hook)

git - 使用 Git 时, `git status` 将输出未跟踪的文件和目录的路径。我如何准确地获得这些路径?

php - 处理同一文件的团队。 git有用吗?

git - 如何阻止 root 运行 git pull?

git - 让 IntelliJ IDEA 在 Windows 上使用公钥认证

Git merge : get conflicts as separate files for merge with external tool