1. 程式人生 > 實用技巧 >3. git命令列操作之遠端庫操作

3. git命令列操作之遠端庫操作

3.1 基本操作

  • 註冊GitHub賬號

  • 在本地建立一個本地庫並初始化

  • 登入到gitHub建立一個遠端庫

注意:windows的憑據管理器中會儲存github登入資訊。如果要切換登入者,先刪除相應憑據

  • 給遠端庫地址起一個別名

3.2 push操作

git push [遠端地址] [分支名]
  • 兩個引數

    • -u git push -u 表示加了引數-u後,以後即可直接用git push 代替git push origin master

    • -f git push -f 表示將目前自己本機的程式碼庫推送到遠端,並覆蓋

注:其實在推送時,儘量避免git push -f

的操作,或者說git push -f是一個需要謹慎的操作,它是將本地歷史覆蓋到遠端倉庫的行為。例如b開發者在a進行git push -f前已經進行git pull操作,所以歷史上的commit2是可以查詢到,但是如果沒有任何其他開發者進行pull,a再改變歷史並強制推送,這部分資料就會丟失。當然也並非禁止使用-f,有時,如果程式碼組內review後,確認程式碼正確無誤,保證大家未pull的情況下,強制推送後,可以保持目錄樹清潔。

3.3 clone操作

git clone[遠端地址]

能夠完整的把遠端庫下載到本地

同時會替我們建立origin遠端地址別名

會初始化本地庫

3.4 pull操作

pull操作是fetch操作和merge操作的合併

git fetch [遠端庫地址別名] [遠端分支名] 命令
git merge [遠端庫地址別名 / 遠端分支名] 命令
git pull [遠端庫地址別名] [遠端分支名] 命令

直接執行pull操作(拉取合併二合一)

3.5 邀請合作者

被邀請的人就能執行push操作了,即寫的許可權

3.6 協同開發時衝突的解決

注意:

  1. 如果不是基於GitHub遠端庫的最新版本所作的修改,便不能推送,必須先拉取

  2. 拉取下來之後如果進入衝突狀態,則按照"分支衝突解決"操作解決即可

如果其他協作者先push了內容

當前人員有push了部分相同內容就會產生衝突

3.7 跨團隊協作操作

3.8 SSH免密登入

win10 OS提供憑據功能,第一次登入後以後就可以免登入。但是其他OS如果沒有憑據功能則每次都需要登入。SSH可以解決這個問題 - 免密登入

① 進入當前使用者的家目錄~

② 刪除之前建立的(如果有).ssh 目錄

③ 執行命令生成.ssh 金鑰目錄

④ 進入.ssh 目錄檢視檔案列表

⑤ 檢視 id_rsa.pub 檔案內容

⑥ 複製 id_rsa.pub 檔案內容,登入 GitHub,點選使用者頭像→Settings→SSHandGPG keys →NewSSHKey→輸入複製的金鑰資訊

⑦ 回到 Gitbash 建立遠端地址別名 ,推送檔案進行測試