git 推送本地代碼倉庫到github遠程代碼倉庫 代碼倉庫合併

場景

  • 高頻場景:
  1. github新建repo
  2. 從github克隆該倉庫git clone xxx
    之後的commit/push/pull等操作都很簡單。
  • 但我的場景是這樣:
  1. 本地先init一個git代碼倉庫。新增一些代碼文件並提交到本地倉庫。
  2. github新增repo。
  3. 想“關聯”本地倉庫和遠程倉庫。以後本地倉庫可以push到指定的遠程倉庫。

涉及到分支合併

核心命令

git pull [email protected]:wuyujin1997/test-babel.git master --allow-unrelated-histories
git push -u [email protected]:wuyujin1997/test-babel.git master

具體步驟見下。

命令

以下命令中,我在github新建的倉庫地址[email protected]:wuyujin1997/test-babel.git

# 新建本地工作空間 workspace
mkdir test01
cd test01

# 初始化本地工作空間(workspace)爲本地倉庫(repository)
git init
# 之後可以看到,當前目錄下多了一個 .git/ 目錄,這裏面,保存的是本地倉庫中文件的歷史版本信息。

# 然後新增一些代碼,提交到本地倉庫。
# 1. 新增一些文件……
# 2. 添加到index(暫存區)
git add .
# 3. 提交到本地倉庫
git commit -m "這是註釋內容"
# 4. 查看提交內容(可省略本步驟)
git log

# 查看本地倉庫分支(確保有master這個分支,只要提交過代碼,就有默認的master分支)
git branch --list

# 去github(或其他git遠程倉庫服務器)新建一個repo。照例寫一些文件,提交。

# 接下來要做的事:
# 1. 拉取遠程倉庫的代碼,到本地。
git pull [email protected]:wuyujin1997/test-babel.git master --allow-unrelated-histories
# 格式: git pull 要推送的目的地址 本地倉庫分支名
# 注意加最後的參數,不然會報錯:拒絕合併不相關的歷史記錄(fatal: refusing to merge unrelated histories)

# 2. 查看本地目錄(可以看到遠程倉庫中的文件已經添加到本地倉庫及本地倉庫中)。
ls # Windows 環境爲 dir

# 3. 本地開發。加代碼……

# 4. 推送代碼到遠程(當然是先通過 git add . 和 git commit -m "提交消息" 提交到本地倉庫之後)。
git push -u [email protected]:wuyujin1997/test-babel.git master
# 格式: git push 要推送的遠程倉庫地址 本地倉庫分支名
# 注意 -u 參數僅第一次push使用即可。之後push可以不用。

第4步,push,之後會重複操作很多次。

現在有個問題,每次push都需要複製這段地址?那也太麻煩了 。
程序員不會樂意做這樣重複、無意義的事的(尤其是大神 Linus Torvalds )。

如果git遠程倉庫的地址有一個別名alias|shortname就好了。
有的,如何設置?

# 先查看本工作目錄下的代碼倉庫 有沒有遠程倉庫信息
git remote show

# 如果沒有,執行以下
git remote add origin [email protected]:wuyujin1997/test-babel.git
# 格式: git remote add <shortname> <url>

# 再次查看(這次應該可以看到origin)
git remote show

git remote show origin

在這之後,本工作空間下,執行git命令,可以使用剛纔定義的別名 origin代替那一串URL。

可以起名爲origin,自然也可以叫別的名字。自己去測試。

推薦

推薦一開始就使用git clone <url>克隆遠程倉庫到本地倉庫。
之後要push可以省略參數,直接git push完成,多好(默認會推送本地倉庫的當前分支到遠程倉庫的master分支)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章