windows - 在 git 中查找本地 repo 和 remote repo 之间的差异

标签 windows linux git

我目前在一个项目中使用两台不同的计算机 - 一台运行 Linux 的笔记本电脑和一台运行 Win7 的台式机。我正在使用带有 gitolite 的 ubuntu 服务器来托管我的存储库。

我正在尝试编写一个可以做两件事的快速脚本:

  1. 检查自上次推送以来本地存储库是否有任何更改。如果是这样,它应该提交更改,将提交推送到远程仓库

    1a.我不确定这是如何工作的,但我不希望此提交覆盖我未在本地更改的文件中的更改(即:它们可能已在另一台计算机上更改并推送)

  2. 之后,它应该检查远程仓库是否有自从我上次 pull 后更改过的任何文件(参见 1a.)。如果是这样,请将这些更改 pull 入本地存储库。

此脚本的目的是让两台计算机保持同步,而不必每次都手动执行所有这些 git 工作。我想让它定期运行(每半小时一次?),所以如果可能的话,我不希望它占用大量资源。

我不需要为我编写的整个脚本(除非它只是几行)- 只需指出我需要的命令即可。

最佳答案

比较输出:

git ls-remote <remote>
git show-ref

虽然通常所做的是获取(而不是 pull )远程分支并将远程分支与本地分支进行比较。如果您有非快进 merge ,则无法真正实现自动化,因为在再次推送之前需要对 merge 进行手动干预。

关于windows - 在 git 中查找本地 repo 和 remote repo 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890591/

相关文章:

android - 使用终端模拟器在 Android 中编写脚本

Git merge 并行功能分支

git - 从 git 中 pull 特定的提交/文件

windows - 使用 golang 创建硬链接(hard link)

windows - 我应该静态编译 VS2008 C++ Win32 应用程序还是动态链接它们?

linux - 获取 VTE 搜索中的模式匹配数

Github 限制访问

python - pip:了解丢失的库转储

ruby-on-rails - Rails Windows Vagrant 响应时间非常慢

arrays - Linux Bashrc 嵌套 For 循环