1.Git配置命令
git config --global user.name "Your Name" git config --global user.email "[email protected]"
設定全域的名稱和Email地址,
2.初始化Git倉庫
git init
初始化一個Git倉庫,
3.添加檔案到Git倉庫
git add <file>
將檔案添加到Git倉庫,可重復執行,并且也可以直接將<file>替換成.來將所有修改檔案添加到Git倉庫,
4.提交檔案到Git倉庫
git commit -m <message>
提交已添加的檔案,其中<message>為提交日志資訊,
5.掌握作業區的狀態
git status
查看倉庫當前的狀態,
6.查看修改內容
git diff
查看檔案的修改內容,
7.查看日志資訊
git log --pretty=oneline
查看提交日志記錄,
8.版本回退
git reset --hard HEAD^
回退到上一個版本,其中HEAD代表當前版本,HEAD^代表上一個版本,HEAD^^代表上兩個版本,HEAD~100代表上100個版本,
git reset --hard commit_id
回退到指定提交id所對應的版本,其中commit_id不需要寫全,
9.查看命令歷史
git reflog
查看你執行過的每一次命令
10.暫存區的概念
通過git add命令將檔案放入暫存區,通過git commit -m "xxx"把檔案放入當前分支,此時暫存區就沒東西了,
一般的作業程序都是如此,作業區→暫存區→當前分支,
11.撤銷修改
git checkout -- <file>
撤銷作業區的修改,總之就是讓檔案回到上一次commit或者add時的狀態,
git reset HEAD <file>
撤銷暫存區的修改,
12.洗掉檔案
git rm <file>
將版本庫中的檔案洗掉,如果先將作業區的檔案手動洗掉了,那么和add命令一致,
13.遠程倉庫
ssh-keygen -t rsa -C "[email protected]"
創建自己的SSH key,一般存在于用戶主目錄的.ssh檔案夾中,里面有id_rsa和id_rsa.pub兩個檔案,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人,
創建完自己的SSH key之后,就可以在GitHub、碼云之類的遠程倉庫平臺上添加上你的公鑰,然后你就可以在該機器上進行推送了,
git remote add origin [email protected]:lxr17/learngit.git
將本地倉庫與遠程倉庫相關聯,其中origin為遠程倉庫的名字,也可以改成其他名字,
14.推送至遠程庫
git push -u origin master
把本地庫master分支的內容推送到遠程庫origin,-u命令會把本地master分支和origin遠程倉庫的master分支關聯起來,之后可以簡化命令,
git push origin master
把本地庫master分支的內容推送到遠程庫origin的master分支上,
15.倉庫克隆
git clone [email protected]:lxr17/learngit.git
從遠程克隆一個倉庫到本地,
16.創建分支
git checkout -b dev
創建一條dev分支并切換到dev分支上,其中-b表示創建并切換,
git branch dev
創建一條dev分支,
git checkout dev
切換到dev分支上,
17.查看當前分支
git branch
查看當前分支,
18.合并分支
git merge dev
將dev分支合并到當前分支上,
Fast-forward的意思是表示此次合并為“快進模式”,也就是直接把master分支指向dev的當前提交,所以合并速度非常快,
當git無法自動合并分支時,就必須首先解決沖突,解決沖突后,再提交,合并完成,
解決沖突就是把git合并失敗的檔案手動編輯為我們希望的內容,再提交,
19.洗掉分支
git branch -d dev
洗掉dev分支,
20.查看分支合并圖
git log --graph
21.Fast-forward模式
Fast forward模式在洗掉分之后會丟掉分支資訊,如果要強制禁用Fast-forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就可以看出分支資訊,
git merge --no-ff -m "message" dev
禁用Fast forward模式下的合并分支,將dev分支合并到當前分支,由于會創建一次新的commit,所以要加上-m引數,
合并分支時,加上--no-ff引數就可以用普通模式合并,合并后的歷史有分支,能看出來曾經做過合并,而Fast forward合并就看不出來曾經做過合并,
22.儲藏
git stash
可以把當前作業現場“儲藏”起來,等以后恢復現場后繼續作業,
git stash list
可以獲取到“儲藏”的作業現場,
git stash apply
用于恢復作業現場,
git stash drop
用于洗掉stash內容,
git stash pop
用于恢復作業現場的同時洗掉stash內容,
git stash apply stash@{0}
恢復至指定的stash,
23.強制洗掉分支
git branch -D dev
強制洗掉dev分支,用于丟棄一個沒有被合并過的分支,
24.查看遠程庫資訊
git remote -v
查看遠程庫詳細資訊,
git remote
查看遠程庫資訊,
25.推送分支
git push origin dev
將本地的dev分支推送到遠程庫origin上,
當從遠程庫clone時,默認情況下會將本地的master分支與遠程的master分支相關聯,
26.創建分支并關聯
git checkout -b dev origin/dev
創建一個本地分支dev,并與遠程庫origin的dev分支相關聯,
27.將本地分支與遠程分支相關聯
git branch --set-upstream-to=origin/dev dev
將本地分支dev與遠程庫origin的dev分支相關聯,
28.變基
git rebase
把本地未push的分叉提交歷史整理成直線,(不是很明白)
29.標簽
就是一個讓人容易記住的有意義的名字,它跟某個commit綁在一起,
30.創建標簽
git tag v1.0
在最新提交的commit上打標簽,
git tag v0.9 f52cb63
給某次commit打標簽,
git tag -a v0.1 -m "version 0.1 released" 1094adb
創建帶有說明的標簽,
31.查看標簽
git tag
查看所有標簽,
git show v0.9
查看標簽的詳細資訊,
32.洗掉標簽
git tag -d v0.1
用于洗掉某個標簽,
33.推送標簽
git push origin v1.0
將標簽推送到遠程庫,
git push origin --tags
將本地所有標簽推送到遠程庫,
34.洗掉遠程標簽
git push origin :refs/tags/v0.9
用于洗掉一個遠程標簽,
35.忽略特殊檔案
在Git作業區的根目錄下創建一個特殊的.gitignore檔案,然后把要忽略的檔案名填進去,Git就會自動忽略這些檔案,
檢驗.gitignore的標準是git status命令是不是說working directory clean,
36.配置別名
git config --global alias.st status
告訴Git,以后用st代替status,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/218432.html
標籤:其他
上一篇:MARKY一下。
