關(guān)于Git的介紹,網(wǎng)上一大堆捷沸,基本上來(lái)就是撕逼SVN的摊沉。我想說(shuō)SVN你都用過(guò)它的幾個(gè)命令啊痒给?被噴的一文不值似的说墨。近幾年幾乎一直是 一個(gè)人開發(fā),所以苍柏,神馬沖突之類的幾本沒遇到哺徊,SVN用的挺好梯码,很有可能就是因?yàn)槲規(guī)缀踔挥脦讉€(gè)命令就完成我的需求了:更新唱蒸,提交晌畅,做分支症汹,就完事兒了航背。
但是庞萍,擋不住逼格誘惑嗤栓,都說(shuō)Git如何如何爬橡。治唤。好吧,我也來(lái)武裝一下自己的逼格糙申。
一般安裝了Xcode就自帶了Git工具宾添,可以查看是否安裝,在終端輸入
git?回車 柜裸?如果沒有出現(xiàn)
git: command not found缕陕,那么恭喜你,你機(jī)器上已經(jīng)有g(shù)it工具了疙挺,可以使用不用安裝扛邑,
查看git工具的目錄位置:
which git?
/usr/bin/git
繼續(xù)查看git相關(guān)的工具
cd /usr/bin/
ls | grep git
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
這些都是干嘛的呢,我也不知道铐然,暫時(shí)不用研究蔬崩。就簡(jiǎn)單羅列研究到的常用的命令
1?git init?// 初始化本地代碼倉(cāng)庫(kù)環(huán)境
2?git clone?https://github.com/csu803/test.git//?獲取遠(yuǎn)程代碼倉(cāng)庫(kù)中 test 這個(gè)項(xiàng)目的所有目錄
3?git pull?https://github.com/csu803/test.git//?獲取遠(yuǎn)程代碼倉(cāng)庫(kù)中與當(dāng)前工作分支關(guān)聯(lián)的分支的最新代碼恶座,并自動(dòng)與本地工作分支進(jìn)行合并
4?git fetch?https://github.com/csu803/test.git?//?獲取遠(yuǎn)程代碼倉(cāng)庫(kù)中與當(dāng)前工作分支關(guān)聯(lián)的 分支的最新代碼,但不與本地工作分支進(jìn)行合并
5?git status?// 查看本地倉(cāng)庫(kù)代碼中沥阳,當(dāng)前工作分支的修改情況
6?git remote -v?// 查看遠(yuǎn)程代碼倉(cāng)庫(kù)
7?git commit -m 'some text'?// 將本地工作分支所做的修改跨琳,提交到本地代碼倉(cāng)庫(kù)對(duì)應(yīng)的分支上
8?git add example.txt?//?在本地代碼倉(cāng)庫(kù)中,向正在使用的分支增加一個(gè) example.txt文件
9?git branch?// 本地代碼倉(cāng)庫(kù)桐罕,查看本地所有分支
9?git branch?-r?// 遠(yuǎn)程代碼倉(cāng)庫(kù)脉让,查看遠(yuǎn)程倉(cāng)庫(kù)中的所有分支
10?git branch branch1?//?本地代碼倉(cāng)庫(kù)?創(chuàng)建一個(gè)branch1的分支
11?git checkout branch1?// 本地代碼倉(cāng)庫(kù) 切換到branch1分支源碼
12?git merge shouldbemergedbranch?// 本地代碼倉(cāng)庫(kù),將shouldbemergedbranch這個(gè)分支合并到當(dāng)前工作代碼分支中
13?git push origin localbranch:remotebranch?// 將本地代碼倉(cāng)庫(kù)中的 origin項(xiàng)目的 localbranch分支 提交到遠(yuǎn)程代碼倉(cāng)庫(kù)功炮,遠(yuǎn)程代碼倉(cāng)庫(kù)對(duì)應(yīng)的分支叫做remotebranch
14?git push origin branch1// 在遠(yuǎn)程代碼倉(cāng)庫(kù)中 以本地倉(cāng)庫(kù)中當(dāng)前分支為原本溅潜,制作一個(gè)叫做branch1的分支。
15?git branch -d bmergedbranch1?// 在本地代碼倉(cāng)庫(kù)中薪伏,刪除伟恶,已經(jīng)被別的分支合并過(guò)的 bmergedbranch1 分支
16?git branch -D nomergedbranch2// 在本地代碼倉(cāng)庫(kù)中,刪除毅该,未經(jīng)合并的 nomergedbranch2分支
17?git push origin :remotebranch1//在遠(yuǎn)程代碼倉(cāng)庫(kù)中博秫,刪除origin項(xiàng)目的 remotebranch1分支
注意:對(duì)于git fetch和git pull 有人研究過(guò)區(qū)別 參考http://blog.csdn.net/a19881029/article/details/42245955
第17就是第13的一個(gè)特殊情況,注意17的冒號(hào)前面有一個(gè)空格