參考網(wǎng)址:http://blog.jobbole.com/25775/
1.Git 起步
git 它會(huì)把文件數(shù)據(jù)的整體保存下來(lái)曹动,即每次更新時(shí)的文件快照。而其它版本控制系統(tǒng)是保存文件內(nèi)容的具體差異很泊,它們每次只會(huì)記錄更新的文件及其內(nèi)容。
git的所有操作都市本地執(zhí)行,處理速度很快
git的設(shè)計(jì)特性在于它會(huì)在保存之前將所有的數(shù)據(jù)進(jìn)行內(nèi)容的校驗(yàn)和計(jì)算当叭,并將這個(gè)結(jié)果作為唯一的表示和索引。它時(shí)刻保持?jǐn)?shù)據(jù)的完整性
git所屬操作緊緊添加數(shù)據(jù)盖灸,提交快照之后不會(huì)擔(dān)心丟失數(shù)據(jù)蚁鳖,
每個(gè)文件的三種狀態(tài):已提交,已修改赁炎,已暫存醉箕。
每個(gè)項(xiàng)目會(huì)有一個(gè)git目錄,這里面是git用來(lái)保存元數(shù)據(jù)和對(duì)象數(shù)據(jù)庫(kù)的地方徙垫,每次克隆鏡像倉(cāng)庫(kù)的時(shí)候就是拷貝這個(gè)倉(cāng)庫(kù)里面的數(shù)據(jù)讥裤。接著,如果我們要從項(xiàng)目中去除某個(gè)版本的所有文件好人目錄姻报,就會(huì)從這個(gè)git目錄中的壓縮隨想數(shù)據(jù)庫(kù)提取出來(lái)己英。然后對(duì)它們進(jìn)行編輯。而存在于git目錄里面的是暫存區(qū)域也就是我們常說(shuō)的索引目錄吴旋。
git的基本工作流程:
1.在工作目錄中修改某些文件
2.對(duì)修改后的文件進(jìn)行快照损肛,然后保存在暫存區(qū)域
3.提價(jià)更新,將保存在暫存區(qū)域的文件快照永久轉(zhuǎn)儲(chǔ)到git目錄中荣瑟。
git 安裝
有許多種安裝方式治拿,主要分為兩種,一種是通過(guò)編譯源代碼來(lái)安裝笆焰;另一種是使用為特定平臺(tái)預(yù)編譯好的安裝包劫谅。這里重點(diǎn)說(shuō)的是第二種。
Windows:
有個(gè)叫做 msysGit 的項(xiàng)目提供了安裝包仙辟,可以到 Google Code 的頁(yè)面上下載 exe 安裝文件并運(yùn)行:
http://code.google.com/p/msysgit
完成安裝之后同波,就可以使用命令行的 git 工具(已經(jīng)自帶了 ssh 客戶端)了,另外還有一個(gè)圖形界面的 Git 項(xiàng)目管理工具叠国。
Git OS X:
1.安裝簡(jiǎn)單的圖形畫(huà)git安裝工具
http://code.google.com/p/git-osx-installer
- 通過(guò) MacPorts (http://www.macports.org) 安裝未檩。如果已經(jīng)裝好了 MacPorts,用下面的命令安裝 Git(這種方式不用自己安裝依賴庫(kù)):
$ sudo port install git-core +svn +doc +bash_completion +gitweb
初次運(yùn)行g(shù)it前的配置:
配置git的工作環(huán)境
git config 命令粟焊,專門(mén)用來(lái)配置或者讀取相應(yīng)的工作環(huán)境變量冤狡。
安裝好以后要做好準(zhǔn)備工作
下載安裝git客戶端: http://code.google.com/p/git-osx-installer/downloads/list?can=3
注冊(cè)github賬號(hào): 去github官網(wǎng)( https://github.com/)注冊(cè)一個(gè)賬號(hào)
要有一個(gè)ssh, 創(chuàng)建一個(gè)ssh秘鑰
1)cd ~/.ssh---->查找當(dāng)前已經(jīng)存在的ssh孙蒙,用ls命令查看
2)ssh-keygen -t rsa -C "youremail"----創(chuàng)建一個(gè)ssh
3)git config --global user.name "yourname"---->配置用戶名
4) git config --global user.email youremail---->配置郵箱
5)git config --list --->查看當(dāng)前配置
6)more id_rsa.pub ----->查看id_rsa.pub內(nèi)容
7)登陸github官網(wǎng)添加ssh
8)第一次本地和遠(yuǎn)程連接的時(shí)候需要你確認(rèn),輸入yes就是悲雳。
接下來(lái)具體談?wù)勱P(guān)于將本地項(xiàng)目push到遠(yuǎn)程倉(cāng)庫(kù)挎峦,以及從遠(yuǎn)程倉(cāng)庫(kù)克隆島本地倉(cāng)庫(kù)
1.從本地推送到遠(yuǎn)程
a)在github上創(chuàng)建一個(gè)新的倉(cāng)庫(kù)。注意不要勾選創(chuàng)建readme.md合瓢。創(chuàng)建好以后坦胶,回到自己的終端,當(dāng)然你也可以選擇可視化操作晴楔,這里用的命令行顿苇。b)在終端用命令行創(chuàng)建一個(gè)
README.md文件,具體如下:
touch README.md //新建一個(gè)記錄提交操作的文檔
git init //初始化本地倉(cāng)庫(kù)
git add README.md //添加
git commit -m "first commit"http://提交到要地倉(cāng)庫(kù)税弃,并寫(xiě)一些注釋
git remote add origin git@github.com:youname/Test.git //連接遠(yuǎn)程倉(cāng)庫(kù)并建了一個(gè)名叫:origin的別名
git push -u origin master //將本地倉(cāng)庫(kù)的東西提交到地址是origin的地址纪岁,master分支下
2)克隆到本地倉(cāng)庫(kù) git clone git@github.com:你的賬號(hào)名/你的倉(cāng)庫(kù)名 指定的文件夾名
注意:候命的指定文件夾名是指你要存的地方,不管之前的目錄下有沒(méi)有则果,它都會(huì)再創(chuàng)建一個(gè)文件夾幔翰,你要克隆的東西就在里面。
git status 檢查當(dāng)前文件狀態(tài)
git add 要跟蹤的文件名
git diff 查看已經(jīng)暫存和未暫存的更新
git diff --cached 查看已經(jīng)暫存起來(lái)的變化
git commit 提交更新
git commit -m "" -m參數(shù)后跟提交說(shuō)明的方式西壮,在一行命令中更新提交遗增。
git rm 要?jiǎng)h除的文件名 ---》移除文件 如果刪除之前修改過(guò)并且已經(jīng)放到暫存區(qū)域的話,則必須要用強(qiáng)制刪除選項(xiàng) -f(譯注:即 force 的首字母)茸时,以防誤刪除文件后丟失修改的內(nèi)容贡定。
git rm - cached 文件名另外一種情況是,我們想把文件從 Git 倉(cāng)庫(kù)中刪除(亦即從暫存區(qū)域移除)可都,但仍然希望保留在當(dāng)前工作目錄中。換句話說(shuō)蚓耽,僅是從跟蹤清單中刪除渠牲。比如一些大型日志文件或者一堆.a 編譯文件,不小心納入倉(cāng)庫(kù)后步悠,要移除跟蹤但不刪除文件签杈,以便稍后在 .gitignore 文件中補(bǔ)上,用 --cached 選項(xiàng)即可: