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

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