Git使用簡單教程,從建庫到遠程操作

本地庫初始化

找到項目文件->右鍵git bash->git init

設置簽名

形式:

  • 用戶名
  • 郵箱地址
    作用:
  • 區分不同開發人員身份
  • 注意:這裡設置的簽名和登錄的遠程庫的賬號密碼沒有任何關係
  • 命令:
    • 項目級別/倉庫級別(僅在當前本地庫範圍內有效,優先生效):
      • git config user.name name
      • git config user.email email
      • 信息保存位置:./git/config
    • 系統用戶級別(登錄當前操作系統的用戶範圍):
      • git config –global user.name name
      • git config –global user.email email
      • 信息保存位置:~/.gitconfig

基本操作

  • 狀態查看:git status 查看工作區、暫存區狀態
  • 添加操作:git add[file name] 將工作區修改提交到暫存區
  • 提交操作: git commit -m “commit message” [file name] 將暫存區內容提交到本地庫
  • 查看歷史記錄:
    • git log: 查看完整歷史記錄,多屏顯示控制方式:
      • 空格向下翻頁
      • b 向上翻頁
      • q 退出
    • git log –pretty=oneline: 簡潔查看歷史記錄
    • git log –oneline: 簡潔版,只能看當前版本和之前的版本
    • git reflog:在oneline基礎上顯示移動到對應版本的步數
  • 版本前進後退:
    • 基於索引值:
      • git reset –hard [索引值]
      • 例如: git reset –hard 1a901dd
    • 使用^符號:只能後退版本
      • git reset –hard HEAD^
      • 加一個^就回退一個版本
    • 使用~符號:只能回退版本
      • git reset –hard~[n]
      • 回退n個版本
    • reset 參數對比:
      • –soft參數:在本地庫移動HEAD指針
      • –mixed參數:在本地庫移動HEAD指針,重置暫存區
      • –hard參數:移動指針,重置暫存區和工作區
  • 刪除文件並找回
    • 回退到保留文件的某個歷史記錄
    • 若沒有提交到本地庫,則reset到當前庫狀態即可
  • 比較文件差異:
    • git diff [file name] 將工作區文件和暫存區文件進行比較
    • git diff HEAD [file name] 與本地庫版本進行比較
    • git diff HEAD^ [file name]與歷史版本進行比較
    • 不帶文件名比較多個文件
  • 分支管理
    • 什麼是分支?
      • 在版本控制過程中,使用多條線同時推進多個任務。
    • 分支操作:
      • 創建分支:
        • git branch [branch name]
      • 查看分支:
        • git branch -v : 查看所有分支
      • 切換分支:
        • git checkout [branch name]
      • 合併分支:
        • 第一步:切換到接受修改的分支(被合併,增加新內容)上
          • git checkout [分支名]
        • 第二步:執行merge命令:
          • git merge [有新內容的分支名]: 合併目標分支
      • 解決衝突:
        • 第一步:編輯文件,刪除特殊符號
        • 第二步:將文件修改到滿意程度,保存退出編輯
        • 第三步:git add [file name]
        • 第四步:git commit -m “日誌信息” 提交
          • 注意:此時commit不可以帶具體文件名

遠程庫交互

  • 在本地創建遠程庫別名:git remote add [別名] [遠程倉庫地址]

  • 推送:git push [遠程倉庫別名] [分支名]

    • 注意:報錯git SSL certificate problem: unable to get local issuer certificate解決辦法:
      • 執行git config –global http.sslVerify false
  • 克隆:

    • 新建一個目錄,進入
    • git clone [遠程倉庫地址]
    • 克隆有三個效果:
      • 完整將遠程庫下載到本地
      • 創建了遠程地址別名
      • 初始化本地庫
  • 邀請團隊成員:

    • github網頁->對應倉庫->setting->collaborators->拉人複製邀請鏈接->發送給對方加入團隊
  • 遠程庫修改拉取:

    • pull = fetch+merge
      • git fetch [遠程庫地址名] [遠程分支名]
      • git merge [遠程庫地址名/遠程分支名]
    • 或直接用pull命令:git pull [遠程庫地址名] [遠程分支名]
    • 只有在基於遠程庫最新版所做的修改才能push成功,第二個push的人要先拉取遠程倉庫再merge再修改再push
  • 跨團隊協作

    • 另一個團隊fork一份倉庫(網頁操作)
    • 本地修改,推送到遠程庫
    • Pull request(網頁操作)

    覺得有幫助給筆者點個贊吧O(∩_∩)O