亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

git使用教程(最詳細、最傻瓜)

2024-07-21 02:03:29
字體:
來源:轉載
供稿:網友

1.git 簡介

1.1 產生歷史

git是目前世界上最先進的分布式版本控制系統。
Linus在1991年創建了開源的Linux,從此,Linux系統不斷發展,已經成為最大的服務器系統軟件了。Linus雖然創建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為Linux編寫代碼,那Linux的代碼是如何管理的呢?事實是,**在2002年以前,世界各地的志愿者把源代碼文件通過diff的方式發給Linus,然后由Linus本人通過手工方式合并代碼!你也許會想,為什么Linus不把Linux代碼放到版本控制系統里呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。不過,到了2002年,Linux系統已經發展了十年了,代碼庫之大讓Linus很難繼續通過手工方式管理了,社區的弟兄們也對這種方式表達了強烈不滿,于是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權Linux社區免費使用這個版本控制系統。**安定團結的大好局面在2005年就被打破了,原因是Linux社區牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協議(這么干的其實也不只他一個),被BitMover公司發現了(監控工作做得不錯!),于是BitMover公司怒了,要收回Linux社區的免費使用權。Linus可以向BitMover公司道個歉,保證以后會嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:

Linus花了兩周時間自己用C寫了一個分布式版本控制系統,這就是Git!一個月之內,Linux系統的源碼已經由Git管理了!牛是怎么定義的呢?大家可以體會一下。Git迅速成為最流行的分布式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。歷史就是這么偶然,如果不是當年BitMover公司威脅Linux社區,可能現在我們就沒有免費而超級好用的Git了。

1.2 git兩大特點

版本控制:可以解決多人同時開發的代碼問題,也可以解決找回歷史代碼的問題。

分布式:Git是分布式版本控制系統,同一個Git倉庫,可以分布到不同的機器上。首先找一臺電腦充當服務器的角色,每天24小時開機,其他每個人都從這個“服務器“倉庫克隆一份到自己的電腦上,并且各自把各自的提交推送到服務器倉庫里,也從服務器倉庫中拉取別人的提交??梢宰砸汛罱ㄟ@臺服務器,也可以使用GitHub網站。

2.安裝配置

Windows安裝鏈接

一路點Next即可,安裝位置就放在C盤。

裝好git后


在終端里面敲入git,


出現這樣的畫面就表示你的git裝好了,此處應該有掌聲~~

3.創建一個版本庫

(1)新建一個目錄git_test,在git_test目錄下創建一個版本庫,命令如下:



接著初始化倉庫


說明:可以看到在git_test目錄下創建了一個.git隱藏目錄,這就是版本庫目錄。

4.版本的創建與回退

4.1 使用

(1)在git_test目錄下創建一個文件code.txt,編輯內容如下:


(2)使用如下兩條命令可以創建一個版本:

git add code.txtgit commit -m “版本1”


(3)使用如下命令可以查看版本記錄:

git log


(4)繼續編輯code.txt,在里面增加一行。


(5)使用如下命令再創建一個版本并查看版本記錄:


(6)現在若想回到某一個版本,可以使用如下命令:


其中HEAD表示當前最新版本【請記死】,HEAD^表示當前版本的前一個版本,HEAD^^表示當前版本的前前個版本,也可以使用HEAD~1表示當前版本的前一個版本,HEAD~100表示當前版本的前100版本。



因為版本1的內容是1行:

this is the first line

因為版本2的內容是2行:

this is the first line
this is the second line

因為
$ git reset --hard HEAD^ HEAD is now at 51d36c7 版本1
使指針HEAD指向(倒退)到版本1,
因此打印的內容就是版本1的內容,即this is the first line

(7)假如我們現在又想回到版本2,這個時候怎么辦?可以使用如下命令:

git reset --hard 版本號




(8)在終端執行如下命令:


版本2又回來了,內容也是原來的內容。

接著玩


退出終端,再重進:


這個重進終端的操作讓我們看不到版本2的版本號,要回到版本2怎么辦?
命令:git reflog來查看操作記錄。


錯誤示例:

原因是按照當前版本1倒退的話,怎么也不會前進到版本2吧?邏輯錯誤。


正確實例:
要用到版本號。


查看版本2的內容:


不理解版本1,版本2有啥區別?

這個東西像游戲更新一樣,版本2是在版本1的基礎上添加新功能的,版本1內容不發生改變。例如王者榮耀版本更新,界面總會變化,但是英雄的屬性(技能,名字)一般不會改變。

4.2 工作區和緩存區

4.2.1 工作區(WorkingDirectory)

工作區(WorkingDirectory) 電腦中的目錄,比如我們的git_test,就是一個工作區。

4.2.2 版本庫(Repository)

工作區有一個隱藏目錄.git,這個不是工作區,而是git的版本庫。git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD。


因為我們創建git版本庫時,git自動為我們創建了唯一一個master分 支,所以,現在,git commit就是往master分支上提交更改。

你可以簡單理解為,需要提交的文件修改通通放到暫存區【計算機的緩存區】,然后,一次性提交暫存區的所有修改。


前面講了我們把文件往版本庫里添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

(1)下面在git test目錄下再創建一個文件code2.txt,然后編輯內容如下:


(2)然后編輯code.txt,操作如下:



注意的是創建文件和編輯文件都是在工作區里完成。

(3)使用如下命令查看當前工作樹的狀態:

git status


翻譯一下:


上面提示我們code.txt被修改,而code2.txt沒有被跟蹤。

(4)我們使用如下命令把code.txt和code2.txt加入到暫存區,然后再執行git status命令,結果如下:


注意:所有的 git add 命令是把所有提交的修改存放到暫存區。

(5)然后,執行git commit就可以一次性把暫存區的所有修改提交到分支并創建一個版本。



注意:指針HEAD永遠指向當前版本。此時當前版本是版本3。

(6)一旦提交后,如果你又沒有對工作區做任何修改,那么工作區就是“干凈”的。執行如下命令可以發現:

現在我們的版本庫變成了醬紫:

4.3 管理修改

git管理的文件的修改,它只會提交暫存區的修改來創建版本。

(1)編輯code.txt,并使用git add命令將其添加到暫存區中。


(2)繼續編輯code.txt,并在其中添加一行。


(3)git commit創建一個版本,并使用git status查看,發現第二次修改code.txt內容之后,并沒有將其添加的工作區,所以創建版本的時候并沒有被提交。



注意:對于code.txt里的四行內容,每一個版本對應一行,例如版本1對應first line,以此類推。

4.4 撤銷修改

(1)繼續上面的操作,提示我們可使用git checkout 亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

国产精品丝袜久久久久久不卡| 粗暴蹂躏中文一区二区三区| 亚洲欧美精品一区| 国产精品美女久久久免费| 成人欧美在线视频| 中文字幕精品—区二区| 久久乐国产精品| 91亚洲国产成人久久精品网站| 永久555www成人免费| 国产精品久久久久久久7电影| 欧美成人免费在线观看| 久久九九精品99国产精品| 97精品国产97久久久久久免费| 久久成人这里只有精品| 国产视频一区在线| 欧美精品久久久久久久免费观看| 美女久久久久久久久久久| 亚洲肉体裸体xxxx137| 久久久亚洲欧洲日产国码aⅴ| 亚洲欧美日韩精品久久亚洲区| 亚洲天堂2020| 91麻豆桃色免费看| 欧美午夜影院在线视频| 亚洲一区二区久久久久久| 日韩av免费网站| 尤物精品国产第一福利三区| 国产精品无码专区在线观看| 久久99亚洲精品| 亚洲2020天天堂在线观看| 亚洲精品v欧美精品v日韩精品| 琪琪亚洲精品午夜在线| 国产香蕉一区二区三区在线视频| 欧美激情亚洲综合一区| 亚洲欧美日韩在线高清直播| 亚洲a一级视频| 日韩国产欧美精品一区二区三区| 一区二区欧美激情| 91理论片午午论夜理片久久| 亚洲国产精品va在线| 精品久久久久久中文字幕大豆网| 国产91在线高潮白浆在线观看| 久久久精品久久久久| 国产精品精品久久久久久| 久久国产精品久久国产精品| 亚洲欧洲av一区二区| 黑人巨大精品欧美一区二区免费| 欧美不卡视频一区发布| 国产精品久久久久久av| 亚洲精品美女网站| 亚洲wwwav| 欧美国产日韩xxxxx| 亚洲国产精品久久| 国产日产欧美精品| 亚洲男女自偷自拍图片另类| 日本精品视频在线观看| 这里只有精品在线观看| 国产69精品久久久久久| 在线精品视频视频中文字幕| 欧美日韩国产色视频| 色噜噜狠狠色综合网图区| 黑丝美女久久久| 欧美巨猛xxxx猛交黑人97人| 亚洲人成77777在线观看网| 国产一区二区三区毛片| 亚洲精品福利在线观看| 久久人人看视频| 亚洲一区二区三区久久| 91精品视频一区| 国内成人精品视频| 亚洲精品久久久久中文字幕欢迎你| 国产精品久久久久久av福利| 懂色aⅴ精品一区二区三区蜜月| 欧美专区第一页| 亚洲精品国精品久久99热一| 久久久人成影片一区二区三区观看| 精品国内自产拍在线观看| 国产欧美va欧美va香蕉在| 欧美日韩在线看| 国产日韩av高清| 亚洲成人久久电影| 91亚洲精品一区| 国产精品91免费在线| 国产精品丝袜久久久久久不卡| 中文字幕亚洲色图| 亚洲a区在线视频| 欧美在线观看视频| 日韩精品免费电影| 亚洲欧美国产视频| 成人国内精品久久久久一区| 欧美精品videofree1080p| 精品动漫一区二区三区| 久热在线中文字幕色999舞| 91精品国产电影| 欧美精品www| 亚洲精品午夜精品| 成人看片人aa| 久久久精品在线| 国产成人精品久久亚洲高清不卡| 在线视频国产日韩| 亚州国产精品久久久| 亚洲欧洲视频在线| 欧美日韩亚洲一区二区三区| 日韩av网站导航| 国产精品欧美激情| 中文字幕日韩欧美在线| 午夜精品久久久久久久白皮肤| 日韩综合视频在线观看| 综合av色偷偷网| 国产精品普通话| 色综合视频一区中文字幕| 欧美极品少妇xxxxⅹ免费视频| 91最新在线免费观看| 久久免费福利视频| 欧美成aaa人片在线观看蜜臀| 国产一区二区在线免费| 久久91精品国产91久久久| 日韩精品中文字| 精品国产欧美成人夜夜嗨| 精品久久久在线观看| 日本亚洲欧美成人| 国产日韩欧美在线看| 亚洲成人aaa| 久久精品国产亚洲| 91精品国产91| 日韩电影中文字幕一区| 国产精品日韩在线一区| 91免费观看网站| 国产精品久久久久久久久久新婚| 成人福利在线视频| 日韩精品免费综合视频在线播放| 欧美亚洲视频在线观看| 精品女同一区二区三区在线播放| 亚洲精品mp4| 国产精品嫩草视频| 夜夜狂射影院欧美极品| 欧美在线视频观看| 亲爱的老师9免费观看全集电视剧| 成人黄色av免费在线观看| 亚洲美女黄色片| 久久久人成影片一区二区三区观看| 国产亚洲一级高清| 欧美日韩精品二区| 2021国产精品视频| 亚洲欧美精品suv| 97人人模人人爽人人喊中文字| www.久久久久| 91香蕉嫩草神马影院在线观看| 久久久久久久999精品视频| 亚洲女人天堂色在线7777| 久久精品99久久香蕉国产色戒| 97**国产露脸精品国产| 亚洲第一色在线| 亚洲欧美精品一区二区| 国产成人在线亚洲欧美| 亚洲精品wwwww| 播播国产欧美激情| 亚洲有声小说3d| 粗暴蹂躏中文一区二区三区| 国产精品伦子伦免费视频| 久久综合国产精品台湾中文娱乐网| 日韩在线视频观看| 日韩成人av在线播放| 成人免费直播live| 欧美午夜无遮挡|