日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git push 的符号笔有什么用_如何同步多个 git 远程仓库

發布時間:2023/12/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git push 的符号笔有什么用_如何同步多个 git 远程仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“后端技術精選”,選擇“置頂公眾號”

技術文章第一時間送達!

作者:taadis

my.oschina.net/taadis/blog/3073220

題外話,開發中遇到問題或者學習新技術時缺少交流環境,可以點擊加入【后端技術交流群

日常需求

以前源碼是托管在 github 的, 現在想要同步托管在 gitee, 一做備份分發, 二方便國內下載使用(網速可觀), 三防止被墻…

方式一 使用 gitee 的強制同步

之前在 github 托管了這么一個項目 mirrors-in-china, 后來國內出了 gitee, 那么想著把項目同步一份到 gitee, 方便大家查看… 正巧 gitee 提供強制同步功能, 方便操作…

我還是只用維護 github 那份源碼, gitee 這邊沒忘記的話, 手搓點擊下強制同步按鈕即可.

但是容易忘記, 造成兩邊不完全同步.

不過我這個項目本身就非常簡單, 這點同步時差完全沒大問題, 夠用, 并且沒有其他任何多余的操作.

方式二 手搓 push 多次

換另一個項目來說, 我之前在 github 托管了這么一個項目 GlobalScanner.Sdk, 應廣大小伙伴需求, 希望把項目在國內同步一份, 方便下載/參考/使用.

那么不外乎就是配置多個遠程庫地址, 多次推送咯, 那么我們先來看看現有遠程庫的情況:

$?git?remote?--verbose
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(fetch)
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(push)

可以看到目前僅有 git@github.com:taadis/GlobalScanner.Sdk.git 這個遠程庫地址.

我們來加一個 gitee 的遠程地址, 首先在 gitee 建好同步倉庫, 然后我們在本地添加一個新的遠程庫地址:

$?git?remote?add?giteeorigin?git@gitee.com:taadis/GlobalScanner.Sdk.git

添加完成后我們查看一下:

$?git?remote?--verbose
giteeorigin?????git@gitee.com:taadis/GlobalScanner.Sdk.git?(fetch)
giteeorigin?????git@gitee.com:taadis/GlobalScanner.Sdk.git?(push)
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(fetch)
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(push)

可以查看到以下2個遠程庫地址:

  • giteeorigin: 是我們新加的 gitee 的遠程庫地址

  • origin: 是我們之前在 github 的遠程庫地址

接下來同步:

git?add?.
git?commit?-m?"add?gitee"
git?push?-u?origin?master
git?push?-u?giteeorigin?master

有鏈接有真相:

github:

https://github.com/taadis/GlobalScanner.Sdk/commit/da00f0584c5a2699bb621e99a00fe15dece33d38

gitee:

https://gitee.com/taadis/GlobalScanner.Sdk/commit/da00f0584c5a2699bb621e99a00fe15dece33d38

比之前多個一次 git push 操作…其他和之前沒有太大區別…沒有更多的心智負擔.

但是經常容易忘記…

方式三 最多跑一次

不想著法偷懶的 coder 不是好程序員, 秉承 "最多跑一次" 的理念, 讓我們試試怎么一次 push 統統搞定.

在本地 git 倉庫里找到這個文件 .git/config, 內容如下:

[core]
????repositoryformatversion?=?0
????filemode?=?false
????bare?=?false
????logallrefupdates?=?true
????symlinks?=?false
????ignorecase?=?true
[remote?"origin"]
????url?=?git@github.com:taadis/GlobalScanner.Sdk.git
????fetch?=?+refs/heads/*:refs/remotes/origin/*
[branch?"master"]
????remote?=?origin
????merge?=?refs/heads/master
[remote?"giteeorigin"]
????url?=?git@gitee.com:taadis/GlobalScanner.Sdk.git
????fetch?=?+refs/heads/*:refs/remotes/giteeorigin/*

改為如下:

合并2個 remote 配置

[core]
????repositoryformatversion?=?0
????filemode?=?false
????bare?=?false
????logallrefupdates?=?true
????symlinks?=?false
????ignorecase?=?true
[remote?"origin"]
????url?=?git@github.com:taadis/GlobalScanner.Sdk.git
????url?=?git@gitee.com:taadis/GlobalScanner.Sdk.git
????fetch?=?+refs/heads/*:refs/remotes/origin/*
[branch?"master"]
????remote?=?origin
????merge?=?refs/heads/master

上面這個手動配置是為了更好的說明而已, 其實可以用以下命令簡化操作, 在 origin 節點下補充了一個新的遠程地址.

$?git?remote?set-url?--add?origin?git@gitee.com:taadis/GlobalScanner.Sdk.git

看看補充后的遠程地址情況

git?remote?--verbose
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(fetch)
origin??git@github.com:taadis/GlobalScanner.Sdk.git?(push)
origin??git@gitee.com:taadis/GlobalScanner.Sdk.git?(push)

注意看后面的 (fetch)(push), 相信你會明白點什么.

然后我們可以繼續這樣使用來實現 github & gitee 的同步推送和分發:

git?add?.
git?commit?-m?"github?&?gitee?同步推送和分發"
git?push?origin?master

有鏈接有真相:

github:

https://github.com/taadis/GlobalScanner.Sdk/commit/6846226ff2be56ed0f58c9345bac4a0170f1880f

gitee:

https://gitee.com/taadis/GlobalScanner.Sdk/commit/6846226ff2be56ed0f58c9345bac4a0170f1880f

可以看到, 使用上和最初沒有任何區別, 只是多配置了一次, 算是實現了 "最多配(跑)一次".

總而言之

幾種方式, 各取所需咯.

(點擊即可跳轉閱讀)

1.?SpringBoot內容聚合

2.?面試題內容聚合

3.?設計模式內容聚合

4.?排序算法內容聚合

5.?多線程內容聚合

6.?7個IntelliJ IDEA必備插件,提高編碼效率

7.?IntelliJ IDEA 從入門到上癮教程,2019圖文版!

看到這里了,關注一個?

總結

以上是生活随笔為你收集整理的git push 的符号笔有什么用_如何同步多个 git 远程仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。