? Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效傻粘、高速的處理從很小到非常大的項(xiàng)目版本管理每窖。就目前來(lái)說(shuō),git已經(jīng)越來(lái)越流行了弦悉,可以去git官網(wǎng)下載最新版窒典。一般為了方便,可以下載git烏龜稽莉,和svn烏龜使用差不多瀑志。方便push,pull污秆,log等的操作劈猪。
從基本命令開(kāi)始講起:
1生成ssh key
①配置信息
git config --global user.name "your name"
?git config --global user.email "your email"
注釋:填寫(xiě)你的名字和郵箱
②生成key
用法:ssh-keygen -t rsa -C "your email"
填寫(xiě) 你的郵箱,會(huì)在你的電腦上面生成.ssh目錄良拼,里面會(huì)包含id_rsa和id_rsa.pub兩個(gè)文件战得,這兩個(gè)文件里面是Key的秘鑰對(duì),id_rsa對(duì)應(yīng)私鑰庸推,僅對(duì)自己知道常侦。id_rsa.pub對(duì)應(yīng)公鑰,可以告訴別人贬媒。如果你需要把key配置到github和碼云聋亡,去相應(yīng)的頁(yè)面配置就好了。
2.clone 倉(cāng)庫(kù)掖蛤,將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地杀捻。
用法: git clone 地址
比如 git clone https://github.com/alibaba/fastjson.git 將github上面fastjson下載到本地。
3.添加文件
用法:git add ?文件名
比如 ?git add a.txt
講解:將需要添加的文件放到暫存區(qū)蚓庭。git工作區(qū)分為兩部分致讥,一部分是本地工作區(qū),一個(gè)是分支工作區(qū)器赞。本地創(chuàng)建垢袱,修改,刪除的操作基本上都是在本地工作區(qū)港柜。分支工作區(qū)里面包含暫存區(qū)请契,和分支。git add 是將文件提交到暫存區(qū)夏醉,而git commit是將暫存區(qū)里面的內(nèi)容提交到分支爽锥。
4.提交文件
用法:git commit -m "注釋"
舉例 :git commit -m ?"添加了一個(gè)a.txt文件"
講解:查看git commit 更多細(xì)節(jié),請(qǐng)使用 git commit --help?
5.推送文件
用法:git push
講解:將本地修改的文件推送到遠(yuǎn)程git倉(cāng)庫(kù)畔柔。
6.拉取文件
用法:git pull?
講解:用git拉去遠(yuǎn)程最新的文件氯夷,有兩種方式:一種是git pull,一種是git fetch 靶擦。這兩種的區(qū)別在于git pull會(huì)自動(dòng)merge腮考,而git fetch不會(huì)雇毫。
7.合并分支
用法 git merge 分支名
舉例 ?git checkout master
? ? ? ? ?git ?merge devlop
講解:上面命令的意思是將devlop分支合并到master分支上,一定要注意先切換到你所要合并的分支踩蔚,然后將需要合并的分支合過(guò)來(lái)棚放。這里寫(xiě)的都是最簡(jiǎn)單的合并,如果要更深入的了解合并可以使用git merge --help 查看命令.注意合并過(guò)程可能有沖突馅闽。
8.創(chuàng)建分支
用法:git checkout -b 分支名
舉例:
git checkout -b mybranch
9.刪除分支
用法: git branch -d mybranch
10.切換分支
用法 ?git checkout 分支名
舉例:?git checkout mybranch
11.查看當(dāng)前分支
用法: git branch
12.查看當(dāng)前分支狀態(tài)
用法: git status
13.查看提交日志?
用法 git log
講解:git log 是最簡(jiǎn)單查看提交記錄的命令飘蚯。美化視圖效果可以試試git log --graph --pretty=oneline --abbrev-commit
14.查看當(dāng)前倉(cāng)庫(kù)遠(yuǎn)程地址
用法: git remote -v
15.修改遠(yuǎn)程倉(cāng)庫(kù)的地址
用法:git remote set-url origin 【your address】
舉例:git remote set-url origin https://github.com/alibaba/fastjson.git
16.版本回退
用法: git reset --hard HEAD^
講解:git使用HEAD來(lái)表示當(dāng)前版本,上一個(gè)版本為HEAD^福也,上兩個(gè)版本就是HEAD^^孝冒,如果還需要回退更多,寫(xiě)成HEAD~n,代表回退上幾個(gè)版本拟杉,比如回退到前五個(gè)版本 ?git reset --hard HEAD~5
17.雜談
一般在項(xiàng)目提交之前最好git pull 一下(從遠(yuǎn)程服務(wù)器拉去最新的代碼),如果有沖突量承,拉取下來(lái)搬设,解決沖突完重新提交文件。