-
1 # 王海軍老師
-
2 # 助考筆記
自己記得Git筆記,供參考!
建立版本庫
初始化一個Git倉庫,使用git init命令。
新增檔案到Git倉庫,分兩步:
第一步,使用命令git add <file>,注意,可反覆多次使用,新增多個檔案;
第二步,使用命令git commit,完成。
要隨時掌握工作區的狀態,使用git status命令。
如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。
版本回退
HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset —hard commit_id。Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。
工作區和暫存區
工作區(Working Directory):就是你在電腦裡能看到的目錄。
版本庫(Repository):工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。
Git的版本庫裡存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD。
遠端倉庫
要關聯一個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git;
關聯後,使用命令git push -u origin master第一次推送master分支的所有內容;
此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;
建立和合並分支
檢視分支:git branch
建立分支:git branch <name>
切換分支:git checkout <name>
建立+切換分支:git checkout -b <name>
合併某分支到當前分支:git merge <name>
當Git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
用git log —graph命令可以看到分支合併圖。
當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop,回到工作現場。
開發一個新feature,最好新建一個分支;
檢視遠端庫資訊,使用git remote -v;
本地新建的分支如果不推送到遠端,對其他人就是不可見的;
從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠端的新提交;
在本地建立和遠端分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一致;
建立本地分支和遠端分支的關聯,使用git branch —set-upstream branch-name origin/branch-name;
從遠端抓取分支,使用git pull,如果有衝突,要先處理衝突。
命令git tag <name>用於新建一個標籤,預設為HEAD,也可以指定一個commit id;
標籤管理
git tag -a <tagname> -m “blablabla…”可以指定標籤資訊;
git tag -s <tagname> -m “blablabla…”可以用PGP簽名標籤;
命令git tag可以檢視所有標籤。
命令git push origin <tagname>可以推送一個本地標籤;
命令git push origin —tags可以推送全部未推送過的本地標籤;
Github使用
在GitHub上,可以任意Fork開源倉庫;
自己擁有Fork後的倉庫的讀寫許可權;
可以推送pull request給官方倉庫來貢獻程式碼。
忽略某些檔案時,需要編寫.gitignore;
.gitignore檔案本身要放到版本庫裡,並且可以對.gitignore做版本管理!
參考資料
回覆列表
看完前面你應該已經知道Git≠後端了。如果你是想學習Git的話,我認為這份教程非常適合你。高質量的Git中文教程,來自國外社群的優秀文章和個人實踐 · GitHub前面的一些基礎內容正在補齊中,雖然我更推崇的是後面的一些討論,或者說辨析:高質量的Git中文教程,來自國外社群的優秀文章和個人實踐 · GitHub
我看過的一些不錯的Git學習教程:
廖雪峰的Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000Git 工作流程(阮一峰):http://www.ruanyifeng.com/blog/2015/12/git-workflow.html菜鳥教程-Git簡明教程:http://www.runoob.com/manual/git-guide/Git Book:https://git-scm.com/book/zh/v2在日常工作中,通常來說,只要掌握一些主要的Git命令,已經足夠應付大多數的工作了,而Cheat Sheet(速查表)可以幫助我們快速查詢Git常用命令:
(圖片整理自網路)
微課
網易雲課堂-圖解Gitstudy.163.com以視覺化的方式講解Git知識