一、本地操作:
1.其它
git init:初始化本地庫
git status:查看工作區、暫存區的狀態
git add <file name>:將工作區的“新建/修改”添加到暫存區
git rm --cached <file name>:移除暫存區的修改
git commit <file name>:將暫存區的內容提交到本地庫
tip:需要再編輯提交日志,比較麻煩,建議用下面帶參數的提交方法
git commit -m "提交日志" <file name>:文件從暫存區到本地庫
2.日志
git log:查看歷史提交
tip:空格向下翻頁,b向上翻頁,q退出
git log --pretty=oneline:以漂亮的一行顯示,包含全部哈希索引值
git log --oneline:以簡潔的一行顯示,包含簡潔哈希索引值
git reflog:以簡潔的一行顯示,包含簡潔哈希索引值,同時顯示移動到某個歷史版本所需的步數
3.版本控制
git reset --hard 簡潔/完整哈希索引值:回到指定哈希值所對應的版本
git reset --hard HEAD:強制工作區、暫存區、本地庫為當前HEAD指針所在的版本
git reset --hard HEAD^:后退一個版本
tip:一個^表示回退一個版本
git reset --hard HEAD~1:后退一個版本
tip:波浪線~后面的數字表示后退幾個版本
4.比較差異
git diff:比較工作區和暫存區的所有文件差異
git diff <file name>:比較工作區和暫存區的指定文件的差異
git diff HEAD|HEAD^|HEAD~|哈希索引值 <file name>:比較工作區跟本地庫的某個版本的指定文件的差異
5.分支操作
git branch -v:查看所有分支
git branch -d <分支名>:刪除本地分支
git branch <分支名>:新建分支
git checkout <分支名>:切換分支
git merge <被合並分支名>:合並分支
tip:如master分支合並 hot_fix分支,那么當前必須處於master分支上,然后執行 git merge hot_fix 命令
tip2:合並出現沖突
①刪除git自動標記符號,如<<<<<<< HEAD、>>>>>>>等
②修改到滿意后,保存退出
③git add <file name>
④git commit -m "日志信息",此時后面不要帶文件名
二、本地庫跟遠程庫交互:
git clone <遠程庫地址>:克隆遠程庫
功能:①完整的克隆遠程庫為本地庫,②為本地庫新建origin別名,③初始化本地庫
git remote -v:查看遠程庫地址別名
git remote add <別名> <遠程庫地址>:新建遠程庫地址別名
git remote rm <別名>:刪除本地中遠程庫別名
git push <別名> <分支名>:本地庫某個分支推送到遠程庫,分支必須指定
git pull <別名> <分支名>:把遠程庫的修改拉取到本地
tip:該命令包括git fetch,git merge
git fetch <遠程庫別名> <遠程庫分支名>:抓取遠程庫的指定分支到本地,但沒有合並
git merge <遠程庫別名/遠程庫分支名>:將抓取下來的遠程的分支,跟當前所在分支進行合並
git fork:復制遠程庫
tip:一般是外面團隊的開發人員fork本團隊項目,然后進行開發,之后外面團隊發起pull request,然后本團隊進行審核,如無問題本團隊進行merge(合並)到團隊自己的遠程庫,整個流程就是本團隊跟外面團隊的協同開發流程,Linux的團隊開發成員即為這種工作方式。
借用網上的圖

