Github學習(talk is cheap,show me the code. -Linus)
阿新 • • 發佈:2018-11-28
- 功能(分散式)
1.協同修改,多人並行的修改伺服器端的同一個檔案
2.資料備份,不僅儲存目錄和檔案的當前狀態,還能夠儲存每一個提交過的歷史狀態。
3.版本管理,不儲存重複資料。
4.許可權控制
5.歷史記錄
6.分支管理,允許開發團隊在工作過程中多條生產線同時推進任務,進一步提高效率。 - 本地庫初始化
git init 本地庫初始化,建立.git目錄
git add
.git目錄中存放的是本地庫相關的子目錄和檔案,不要刪除,不要胡亂修改
- 設定簽名區分不同開發人員的身份,就近原則,專案級別優先於系統使用者級別!兩者必須設定一個。
使用者名稱:
Email地址:
專案級別/倉庫級別(僅在當前本地庫範圍內有效) :
系統使用者級別(登入當前作業系統的使用者範圍):
git config user.name +
git config user.email +
git config --global user.name +
git config --global user.email +
-
git status狀態檢視,檢視工作區、暫存區
-
git add新增,將工作區的修改、新建新增到暫存區
-
git commit提交操作,將暫存區的內容提交到本地庫
-
git log檢視歷史記錄,完整形式。對屏顯示控制方式:空格向下翻頁、b向上翻頁、q退出。
-
git log --pretty=oneline 一行顯示,只顯示過去的。
-
git log --oneline 縮短了雜湊值
-
git reflog 顯示到某個版本指標需要移動的步數 HEAD ->為指標,全部顯示。
-
git reset --hard + 雜湊值
版本前進後退
-
^符號 git reset --hard HEAD^只能後退,退幾步就需要幾個異或符號。
-
~符號 git reset --hard HEAD~3,退幾步數字就為多少。
-
–soft/–mixed/–hard
soft僅在本地庫移動指標
mixed在本地庫移動指標,重置暫存區。
hard在本地庫移動指標,重置暫存區、重置工作區。 -
刪除檔案找回(檔案存在時的狀態提交到了本地庫),就是版本的回退。刪除操作提交到本地庫刪除恢復:
git reset --hard [指標記錄]
git reset --hard HEAD
-
比較檔案差異
git diff +檔案 //工作區的檔案和暫存區比較
git diff [本地庫中歷史版本] +檔名 //將工作區的檔案和本地庫歷史記錄比較。不帶檔名,比較多個檔案
分支操作
- 建立分支
git branch +[分支名]
- 檢視分支
git branch -v
- 切換分支
git checkout [分支名]
- 合併分支
切換到接受修改的分支上、執行
git checkout +需合併分支名
git merge +修改後的分支名
- 解決衝突
衝突的表現為特殊符號包圍的檔案,手動解決衝突,刪除特殊符號,修改後儲存退出。然後執行:
git add [檔名]
git commit -m "[日誌資訊]"
- 克隆
完整的把遠端庫下載到本地,建立origin遠端地址別名,初始化本地庫。
git clone git https://github.com/zhangxuhui1992/GitTest.git