git - 如何让 git 在不同的服务器上保持最新状态,并对它们进行单独的一次性更新?
问题描述
我有几台服务器在同一个系统上运行,但是随着时间的推移,我们在每台服务器上进行了多次本地更新,以便任务灵活。但是现在我们很难让每个人都及时了解本地更新的内容,考虑到我在本地和主要更改了某些代码行。
谁能给我一盏灯?
解决方案
好吧,对于您的用例,我将配置一个中央 gitlab 服务器左右,所有服务器都向其拉取和推送,它管理合并/拉取请求并保持一切干净和同步。
如果您不希望这样,可以同步它们,条件是所有人都可以访问某个目录/位置/路径,这可以充当中央存储库,以便其他存储库可以推/拉到它。
- 让我们称这个位置
/path/to/central
- 将存储库克隆到那个
/path/to/central
- 将此中央存储库作为远程添加到您要同步的其他版本,例如,如果您在路径上有一个存储库:
/path/to/repo1
,则:
cd /path/to/repo1
git remote add upstream /path/to/central
git checkout -b repo1-changes
git push upstream repo1-changes
现在您已将 repo1 中的更改推送到中央存储库:
cd /path/to/central
git branch -a
# output will look like:
repo1-changes
* master
在不同服务器上的其他版本上执行相同的步骤,然后返回中央存储库。
所有更改现在都在一个中心位置,您可以按照自己喜欢的方式进行合并。
将所有内容合并到中央存储库后,在获取它后master
返回到服务器集合:master
upstream/master
cd /path/to/repo1
git checkout master
git fetch upstream
git reset --hard upstream/master
这是一个手动过程,但最后所有主分支在每台服务器上都应该是相同的。
希望这会有所帮助:)
推荐阅读
- laravel - 从 AWS Codecommit 克隆存储库
- c++ - .bin 对象在命令提示符中可执行,但在 Visual Studio 代码中不可执行
- javascript - 如何使用 vue 在 div 中获取 img 和 p 标签?
- mysql - mysqldump 不保持 ON UPDATE RESTRICT
- python - Python 从另一个函数调用一个函数
- python - Pandas 如何将数据分组为范围?
- outlook - 通过 Graph API 创建日历事件时出现错误 550 5.7.708
- python - 如何从一个目录中选择并复制具有特定文件名的文件到另一个目录?
- python - Python assert_has_calls 失败,对象参数的属性顺序不同
- angular - 如何使用 ControlValueAccessor Angular 在自定义输入中使用指令