目前世界上最先進的分布式版本控制系統
官方網址:https://git-scm.com
學習目標:
1 了解 git 前世今生
2 掌握 git 基礎概念、基礎操作
3 各種 git 問題處理
4 互聯網常用 gitflow(工作流程規范)
5 git 代碼提交規范
6 git 分支管理及命名規范
常見問題
目前執行git操作有兩種風格,命令行格式 || 圖形化操作,文檔中以命令行來講解
4.11、git merge -m “xxx” 的時候可以附加信息
?默認是 Merge branch branchName
4.12、git pull 會拉取所有遠程分支的代碼到本地鏡像倉庫中
想要 merge 別人的分支時:
?如果你的本地倉庫中已經有了他人的分支(直接切換到他人分支,就會在本地生成一條他人的分支),就可以使用 merge branchname;
?如果你的本地倉庫沒有他人的分支,那么就得使用 merge origin/branchname 來合并
4.13、git stash 存儲未追蹤的文件
?如果我們新建了文件,但是沒有用 git add . 追蹤文件,那么 git stash 是無法存儲的
$ git stash -u
4.14、git push 無法提交代碼
「可能出現的報錯:」
?「remote:」 Permission to xxxxx.git denied to xxx. fatal: unable to access ‘http://github.com/ xxxxx.git/’: The requested URL returned error: 403
?「remote:」 You do not have permission to push to the repository via HTTPS「fatal:」 Authentication failed for ‘http://gitee.com/xxx.git/’
# 查看當前項目的 git 配置
$ cat .git/config
?查看本地項目的 .git/config 設置的倉庫 url 地址和 github 使用的鏈接地址是否一致。git push 的數據協議有兩種方式:ssh 和 https。如果不一致就需要切換 url 地址。
4.15、git 輸錯用戶名和密碼,后續的 git 操作一直報錯
remote: Coding 提示: Authentication failed.remote: 認證失敗,請確認您輸入了正確的賬號密碼。fatal: Authentication failed for 'https://e.coding.net/xxx.git/'
在控制面板里找到憑據管理器,選中 Windows 憑據,找到 git 的憑據,點擊編輯,輸入所用 github 的正確用戶名和密碼。
4.16、查看 git 安裝目錄
?「Mac:」 在命令行中輸入 which git,就會顯示 git 的安裝位置了
?「Windows:」 打開cmd,輸入 where git,就會顯示 git 的安裝路徑了
4.17、如何修改舊的 commit 的 message/如何將多個 commit 合成一個 commit/如何將多個間隔的 commit 合成一個 commit/
git rebase -i
4.18、如果兩個人都對某個文件進行了修改,一個是重命名文件,一個是修改文件內容,那么會起沖突嗎?git 很智能,會自動合并這些修改
如果兩個人都對同一個文件重命名,此時會起沖突,git 不會自動處理,需要開發者自身去解決沖突
4.19、git revert 失敗:error: Commit faulty merge is a merge but no -m option was given、error: option `mainline’ expects a number greater than zero
git revert -m 1
4.20、git 創建一個空的分支
在 Git 中創建分支,是必須有一個父節點的,也就是說必須在已有的分支上來創建新的分支,如果工程已經進行了一段時間,這個時候是無法創建空分支的。但是有時候就是需要創建一個空白的分支。
$ git checkout --orphan emptyBranchName
該命令會生成一個叫 emptybranch 的分支,該分支會包含父分支的所有文件。但新的分支不會指向任何以前的提交,就是它沒有歷史,如果你提交當前內容,那么這次提交就是這個分支的首次提交。
想要空分支,所以需要把當前內容全部刪除,用 git 命令
Plain Text
$ git rm -rf . // 注意:最后的‘.’不能少。