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 協同開發時衝突的解決
注意:
如果不是基於GitHub遠程庫的最新版本所作的修改,便不能推送,必須先拉取
拉取下來之後如果進入衝突狀態,則按照”分支衝突解決”操作解決即可
如果其他協作者先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 創建遠程地址別名 ,推送文件進行測試