? https://github.com/luhan420
?
?Git?是一個(gè)分布式管理工具,通過(guò)指紋字符串來(lái)時(shí)刻保持?jǐn)?shù)據(jù)的完整性,關(guān)心的是文件數(shù)據(jù)整體的變化,并不保存變化前后的差異數(shù)據(jù);Git?在本地磁盤保存有關(guān)項(xiàng)目的歷史更新,所有絕大多數(shù)操作只需要訪問(wèn)本地文件資源,并不需要Internet。當(dāng)然可以使用GitHbub將代碼托管,進(jìn)行遠(yuǎn)程開(kāi)發(fā),方便團(tuán)隊(duì)比較分散的情況(這正體現(xiàn)Git分布式的優(yōu)勢(shì));開(kāi)發(fā)人員只需將項(xiàng)目clone到本地,進(jìn)行相應(yīng)的開(kāi)發(fā)然后push上傳到?GitHub(GitHub使用的是utf-8編碼,所以上傳的文件如若不是以u(píng)tf-8編碼,可能出現(xiàn)亂碼),供別的開(kāi)發(fā)人員更新即可。簡(jiǎn)單初學(xué)使用參考:?
?????????任何文件在Git庫(kù)中都有四種狀態(tài):未跟蹤狀態(tài)untracked、跟蹤狀態(tài)tracked(未修改狀態(tài)unmodified、已修改狀態(tài)modified、暫存狀態(tài)staged),由于文件的上述四種狀態(tài),在使用Git進(jìn)行項(xiàng)目管理的時(shí)候涉及到三個(gè)區(qū)域:
(1)Git?本地?cái)?shù)據(jù)目錄:每個(gè)項(xiàng)目都有一個(gè)?git?目錄,它是?Git?用來(lái)保存元數(shù)據(jù)和對(duì)象數(shù)據(jù)庫(kù)的地方。該目錄非常重要,每次克隆鏡像倉(cāng)庫(kù)的時(shí)候,實(shí)際拷貝的就是這個(gè)目錄里面的數(shù)據(jù)。
(2)工作目錄(項(xiàng)目工作空間):從項(xiàng)目中取出某個(gè)版本的所有文件和目錄,用以開(kāi)始后續(xù)工作的叫做工作目錄,即就是我們進(jìn)行項(xiàng)目開(kāi)發(fā)的目錄。
(3)暫存區(qū)域:所謂的暫存區(qū)域只不過(guò)是個(gè)簡(jiǎn)單的文件,一般都放在?git?目錄中。
?
Git本地倉(cāng)庫(kù)的基本用法:
?????①?git?init?:初試化當(dāng)前目錄為一個(gè)Git本地倉(cāng)庫(kù)。
?????②?git?add??:?如果一個(gè)文件是未被跟蹤的,將?一個(gè)文件加入到Git版本控制當(dāng)中,讓Git對(duì)其進(jìn)行跟蹤;如果一個(gè)文件是已修改狀態(tài),則將一個(gè)文件放到暫存區(qū)中。
????????????????git?add?.??:??"."點(diǎn)表示當(dāng)前目錄下的所有內(nèi)容
?????③?git?status?:?查看當(dāng)前Git倉(cāng)庫(kù)中所有文件的狀態(tài),若是為跟蹤狀態(tài)?則用紅色顯示。
?????④?git?diff:比較工作目錄中當(dāng)前文件和暫存區(qū)域快照之間的差異,也就是修改之后還沒(méi)有暫存起來(lái)的變化內(nèi)容。
?????⑤?git?commit:提交暫存區(qū)域。
???????????????git?commit?-m?<說(shuō)明信息>
???????????????git?commit?-a?可以跳過(guò)暫存區(qū)域,直接將已跟蹤的文件暫存起來(lái)一并提交。
?????⑥?git?rm?:從Git中刪除一個(gè)文件。
???????????????git?rm?--cached?:從暫存區(qū)刪除一個(gè)文件,但是仍保留在工作目錄中。也就是將文件變?yōu)槲锤櫊顟B(tài)。
?????⑦?git?log:查看項(xiàng)目提交歷史記錄。
???????????????git?log?-p?選項(xiàng)展開(kāi)顯示每次提交的內(nèi)容差異
???????????????git?log?--stat?僅顯示簡(jiǎn)要的增改行數(shù)統(tǒng)計(jì)
???????????????git?log?--pretty=
?,其中option可以是:oneline(使每條歷史信息在一行中顯示),short,full,fuller,format(按指定的格式輸出)
???????????????gitk?可以打開(kāi)歷史記錄的可視化查看窗口。
?????⑧?git?commit?--amend:修改最后一次提交。該命令是提交當(dāng)前緩存區(qū)快照,并修改最后一次的說(shuō)明。
?????⑨?git?checkout?--?:撤銷對(duì)文件的修改,慎用!???
?????⑩?git?reset?HEAD?:撤銷對(duì)文件的暫存,讓文件回到暫存前的狀態(tài)。
?
?Git遠(yuǎn)程倉(cāng)庫(kù)的基本用法:
?????①?git?clone?[url]:將一個(gè)遠(yuǎn)程倉(cāng)庫(kù)克隆到本地。
?????②?git?remote:查看當(dāng)前配置的遠(yuǎn)程倉(cāng)庫(kù),在克隆完某個(gè)項(xiàng)目后,至少可以看到一個(gè)名為origin的遠(yuǎn)程倉(cāng)庫(kù),Git?默認(rèn)使用這個(gè)名字來(lái)標(biāo)識(shí)你所克隆的原始倉(cāng)庫(kù)。
???????????????-v?:顯示對(duì)應(yīng)的克隆地址。
???????????????git?remote?add?[remote-name]?[url]:添加一個(gè)新的遠(yuǎn)程倉(cāng)庫(kù)。
???????????????git?remote?show?[remote-name]:查看遠(yuǎn)程倉(cāng)庫(kù)信息。
???????????????git?remote?rm?[remote-name]:移除遠(yuǎn)程倉(cāng)庫(kù)。
???????????????git?remote?rename?[old-remote-name]?[new-remote-name]:重命名遠(yuǎn)程倉(cāng)庫(kù)。
?????③?git?push?[remote-name]?[branch-name]:推送數(shù)據(jù)到遠(yuǎn)程倉(cāng)庫(kù),remote-name指的是遠(yuǎn)程倉(cāng)庫(kù)簡(jiǎn)稱,branch-name指的是分支名稱。對(duì)于克隆的倉(cāng)庫(kù)默認(rèn)分別為:origin,master
??????????git?push?-u?origin?master?//將本地的項(xiàng)目提交到遠(yuǎn)程倉(cāng)庫(kù)
?
Git將遠(yuǎn)程倉(cāng)庫(kù)GitHub取回本地:
?????①?git?[url]?:??在git下切換到想要存放此項(xiàng)目的目錄,運(yùn)行這條命令就可以將項(xiàng)目克隆到本地磁盤的當(dāng)前目錄
?????②項(xiàng)目取回本地,遠(yuǎn)程倉(cāng)庫(kù)GitHub上有更新,取得更新
??????????????git?fetch?origin??//開(kāi)始取得更新
??????????????git?merge?origin?/master??//將更新內(nèi)容合并到本地分支/master
結(jié)對(duì)人:滕娟
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
