Git:目前世界上最先進的分布式版本管理系統(tǒng)
一、git安裝
在mac上安裝
第一種方法,安裝homebrew缝彬,然后通過homebrew安裝git,homebrew幫助文檔:http://brew.sh/凶硅。
第二種方法悠咱,安裝Xcode,Xcode集成了Git峭沦,但是默認沒有安裝,運行Xcode,選擇菜單Xcode-->preferences-->Dowloads,選擇“command line tools"逃糟,點擊Install即可完成安裝
在Windows上安裝
從Git官網(wǎng)下載安裝程序吼鱼,選擇默認安裝,安裝完成后在菜單里找到Git-->Bash,彈出命令窗口表示安裝成功绰咽。安裝完成后在命令窗口中輸入:
git config --global user.name "your name"
git config --global user.email "your email"
這樣就完成git配置菇肃,然后就可以安心的使用Git啦
二、創(chuàng)建版本庫
版本庫又名倉庫取募,英文名repository
1.選擇一個合適的地方創(chuàng)建一個目錄琐谤,你可以自己手動創(chuàng)建文件,也可以用命令:mkdir [name]玩敏,然后進入該目錄 : cd [name],最后輸入pwd
mkdir learngit
cd learngit
pwd
2.初始化斗忌,將learngit變成git可管理的倉庫
git init
3.提交
git add [文件名]
git commit -m "[提交說明]”
4.版本回退
回退到上個版本:git reset --hard HEAD^
回退到指定的版本:git reset hard [commit id] ,commit id可以通過 git log 命令查看當前命令窗口所有的commit id质礼,git reflog可以查看所有命令(命令窗口關(guān)閉了也可以)
5.撤銷修改
若修改了文件,后又不想修改了想回到修改前的版本
git checkout -- [文件名]
若修改了文件并添加到暫存區(qū)
git reset hard HEAD^
git checkout -- [文件名]
6.刪除文件
git rm [文件名]
git commit -m "[刪除了某個文件]"
撤銷刪除:git checkout -- [文件名]
三织阳、遠程倉庫(github為例)
1.創(chuàng)建SSH Key(若根目錄已存在.ssh目錄眶蕉,忽略此步驟)
打開shell
ssh-keygen -t rsa -C "your email"
根目錄會生成.ssh目錄,里面會有id_rsa和id_rsa.pub文件
將id_rsa.pub里的內(nèi)容添加到github中ssh中
2.在github中新建倉庫(create a new repository)
3.在本地倉庫下關(guān)聯(lián)遠程倉庫:
git remote add origin git@github.com:[github用戶名]/[倉庫名]
將本地倉庫文件推送送遠程倉庫
git push -u origin master
以后每次本地倉庫有提交唧躲,都可以用以上命令提交到遠程倉庫
4.克隆遠程倉庫
在github上準備一個遠程倉庫
本地克隆遠程倉庫
git clone git@github:[用戶名]/[倉庫名]
或
git clone https://github.com/[用戶名]/[倉庫名]
第一種方式更快
四造挽、分支
master為主分支,自己可以創(chuàng)建新的分支弄痹,在分支上提交的內(nèi)容最后需要與主分支合并饭入,可理解為臨時分支。場景:開發(fā)一個新功能需要10天時間肛真,如果將每天的代碼提交到master上可能會master上運行的程序錯誤谐丢,但是不提交可能會導(dǎo)致代碼丟失,提交到新分支上不會影響master上的代碼毁欣,等功能全部開發(fā)完成在將分支合并即可庇谆,此時可刪除臨時創(chuàng)建的分支。
1.創(chuàng)建分支
git branch [分支名稱]
git checkout dev
或
git checkout -b dev
git branch 列出所有分支
帶*的為當前分支
當dev分支上有內(nèi)容提交后凭疮,master分支上的內(nèi)容是不變
合并分支
git checkout master(回到master)
git merge dev(合并)
合并完成后可刪除dev分支
git branch -d dev
合并分支有沖突之后要手動解決沖突再次提交
上述為快速合并模式饭耳,普通合并模式:
git merge --no-ff -m "merge with no-ff" dev
2.Bug分支
保存當前工作區(qū):
git? stash
切換到需要修改的分支:
git checkout master
創(chuàng)建修復(fù)bug的分支
git checkout -b bug_01
修復(fù)bug
提交內(nèi)容-->回到master分支-->合并bug分支-->刪除bug分支
回到工作分支,恢復(fù)工作區(qū):
git stash apply-->git stash drop
或者
git stash pop
查看stash:
git stash list
可以保存多個工作區(qū)执解,恢復(fù)指定的工作區(qū):git stash apply stash@{0}(這里是查看stash是時顯示的內(nèi)容)
3.Feature分支
開發(fā)完成還沒有合并寞肖,但是此開發(fā)不需要了需要刪除:
git branch -D [分支名稱]
五、拉取
拉取遠程倉庫的內(nèi)容:
git pull
寫到這里基本夠用了衰腌,本文參考Git教程