1.基本資訊設定:
git config --global(基本不用,給整個計算機一次性設定)
git config --system(給當前使用者一次性設定)
git config --local(給當前專案一次性設定)
設定使用者名稱: git config --global user.name ‘使用者名稱’
git checkout -- 檔名”撤銷操作(checkout還可以用於切換分支的命令)
2.初始化倉庫:
將某個目錄納入git管理,必須進行git init (清屏:clear/ctrl+l)
3.檢視修改的日誌記錄:
git log(“git log –次數“檢視最近的次數)
4.重新命名操作:
git mv 檔名 新檔名
重新命名操作,實際是從一個檔案移動到另一個檔案,並把原檔案刪除,若執行撤銷刪除操作,則會出現兩個檔案。
5.重寫提交說明:
git commit –amend –m ‘修正說明’ (只是修改最近一次的提交說明)
6.忽略檔案:
建立.gitignore檔案,把要忽略提交的檔名寫入到.gitignore檔案裡,就會自動忽略提交裡面的檔案。忽略檔案下下所有的檔案:dir/:(dir/*/*.txt能夠忽略dir/abc/a.txt dir/xyz/x.txt 不能忽略dir/xyz/123/a.txt 但dir/**/*.txt可以忽略任意級目錄)。空目錄預設就是忽略的。
7. 萬用字元:
*(任意萬用字元)
8. !(非)通常與萬用字元配合使用
9.
分支操作:分支是一條工作鏈
檢視分支:git
branch
建立分支:git
branch 分支名
切換分支:git
checkout 分支名
分支重新命名:git
branch -m 分支名 新分支名
刪除分支:git
branch –d 分支名(自己不能刪自己,即不能刪除當前分支)
(其他不能刪除的情況:包含“未合併”(增、刪、改)的內容,使用“git merge 分支名”命令進行合併)
強行刪除分支:git
branch –d 分支名
(細節:1.如果在分支a中進行了寫操作,但此操作侷限在工作區中進行(沒有add commit),在master中能夠看到該操作,如果分支a進行了commit,則在master中無法觀察到此檔案。2.如果在分支a中進行了寫操作,此操作侷限在工作區中進行,刪除分支a是可以直接進行的,如果分支a進行了commit,則刪除該分支之前主分支必須與其合併,或強行刪除。簡單來說,如果commit了,可以直接刪,如果沒commit,不能直接刪)
建立並切換:git
checkout –b 分支名
10.合併:
①合併不衝突:
如果一個分支a靠前,一個分支b靠後,則如果不衝突,b可以通過merge直接追趕上a。稱為fast forward(本質就是分支指標的移動)。git在merge時,預設使用fast forward,最終兩個分支歸於一點commit,並且沒有分支資訊(丟失分支資訊)。也可以禁止使用:git merge
--no-ff ,兩個分支不會歸於一點commit(主動發起合併的分支會前進一步(通過git log檢視每一步的sha1值)),分支資訊完整(不會丟失分支資訊)
②合併衝突:如果有衝突(兩個分支同時在同一個檔案的同一位置做了修改)
需要解決衝突:先通過vi修改衝突檔案內容,再次提交
git add 檔名(告知git衝突已解決,不是將工作區提交到暫存區)
git commit -m ”**”
解決衝突後兩分支的檔案內容如下:(注意,此時兩分支的的hello.txt檔案內容並不是一樣的)
如果此時再對new_branch分支進行合併,不會發生衝突,因為此時的new_branch落後於master一步,落後方可以直接通過merge合併到前進方(master
主動發起合併,比
new_branch分支
前進一步)。
可以通過sha1值來檢視分支鏈(sha1是一種加密函式,在這裡主要是為了產生隨機碼)
11.版本穿梭:在多個commit之間進行穿梭、回退、前進
回退到上一次commit:git reset --hard head^ (寫n個^就回退到上n次)
回退到上n次commit:git reset --hard head~n
跳轉到任意一次commit:通過sha1值直接回退 git reset --hard 803c999(sha1值的前幾位),git reflog 記錄所有的操作,通過檢視記錄,記住想要跳轉到某一步的sha1值,再結合git reset直接跳轉即可。
12.stash儲存現場:
注意規範(建議):在功能沒有開發完畢之前,不要commit
規定(必須):在沒有commit之前,不能checkout切換分支
如果還沒有將某一個功能開發完畢就要切換分支,建議:
儲存現場(臨時儲存:
stash
)儲存現場:git stash
還原現場:git stash pop
檢視現場:git stash list
13.checout命令的幾個功能:
①放棄修改。放棄的是工作區中的修改,相對於暫存區或倉庫
reset是將之前增加到暫存區中的內容回退到工作區
②版本穿梭(遊離狀態):git
checkout sha1值
。修改後必須提交 。此狀態是建立分支的好時機:git branch 分支名 sha1值
③切換分支
git的基本命令
git bush here 開啟git的命令列工具 git version 檢視git的版本 working directory 工作區 staging index 暫存區 git directory repository 版本庫 將資料夾使用git管理 git init 檢視資料夾裡的檔案 ls ...
Git 的基本命令
git config list git config global user.name chenjiadong git config global user.email 594284672 qq.com git init git status git add index.html git commi...
git的基本命令
建立一個版本庫 新建一個目錄git test,在git test檔案下建立一個版本 git init 2.版本建立 兩步 git add 檔名 git commit m 版本名 3.版本回退 1 檢視版本記錄 git log git reflog 關閉終端操作時可以檢視操作記錄 git log pr...