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 log: 查看完整歷史記錄,多屏顯示控制方式:
- 版本前進後退:
- 基於索引值:
- 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 SSL certificate problem: unable to get local issuer certificate解決辦法:
-
克隆:
- 新建一個目錄,進入
- git clone [遠程倉庫地址]
- 克隆有三個效果:
- 完整將遠程庫下載到本地
- 創建了遠程地址別名
- 初始化本地庫
-
邀請團隊成員:
- github網頁->對應倉庫->setting->collaborators->拉人複製邀請鏈接->發送給對方加入團隊
-
遠程庫修改拉取:
- pull = fetch+merge
- git fetch [遠程庫地址名] [遠程分支名]
- git merge [遠程庫地址名/遠程分支名]
- 或直接用pull命令:git pull [遠程庫地址名] [遠程分支名]
- 只有在基於遠程庫最新版所做的修改才能push成功,第二個push的人要先拉取遠程倉庫再merge再修改再push
- pull = fetch+merge
-
跨團隊協作
- 另一個團隊fork一份倉庫(網頁操作)
- 本地修改,推送到遠程庫
- Pull request(網頁操作)
覺得有幫助給筆者點個贊吧O(∩_∩)O


