好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解git的基本使用方法

詳解git的基本使用方法

熱門標簽:外呼系統號顯示星號怎么看 承德地圖標注公司收費 高德地圖標注常顯 鶴壁外呼系統公司 揭陽電腦外呼系統公司 suitecrm 地圖標注 臨沂ai電銷機器人招商 銀川語音外呼系統中心 華創e路航彩票銷售點地圖標注

什么是git?

git是目前世界上最先進的分布式版本控制系統。

git與SVN的最主要區別?

SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而工作的時候用的都是自己的電腦,所以開始工作之前需要從中央服務器那里獲取最新的版本,然后開始工作,工作完后,需要把自己所做的工作推送到中央服務器。集中式版本控制系統必須要聯網才能工作,如果在局域網中,有足夠的寬帶,運行速度夠快,而在互聯網環境下,網速慢通常會導致服務難以進行。

git是分布式版本控制系統,沒有中央服務器,每個人的電腦是一個完整的版本庫,這樣,工作的時候可不需要聯網,因為版本都在自己電腦上,即每個人的電腦都有一個完整的版本庫,那么如何實現多人協作呢?比如自己在電腦上修改了文件A,別人也修改了文件A,此時,需要把兩人之間各自所做的修改推送給對方,就可以互相看到對方所做的修改了。

在windows上安裝git。

msysgit是windows版的git,如下:

從網上下載一個,默認安裝即可。安裝完后,在開始菜單里找打“Git->Git Bush”如下:

會彈出一個類似命令窗口的東西,則說明git安裝成功。如下:

安裝完成之后,還需要最后一步設置,在命令行輸入git config --list,如果最后兩行信息和你之前輸入的相同,則完成了git的基本配置。

注意:git config -global參數,有了這個參數,表示這臺機器上所使用的git倉庫都會使用這個配置。

如何操作?

一:創建版本庫。

什么是版本庫?版本庫又名倉庫,英文名repository,可以簡單的理解為一個目錄,在這個目錄里面所有文件都可以被git管理起來,每個文件的修改,刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻將文件“還原”。

創建一個版本看也非常簡單,如下在D盤目錄下新建一個z6t版本庫。

pwd命令用于顯示當前目錄。

通過命令git init把這個目錄變成git可以管理的倉庫,如下:

這時當前目錄下會多一個.git的目錄,這目錄是git用來跟蹤管理版本的,沒事千萬不要改動里面的文件,否則會破壞git倉庫。如下:

把文件添加到版本庫中。

首先要明確,所有的版本控制系統,只能跟蹤文本文件的改動,比如txt文件、網頁、所有程序的代碼等。git也不例外,版本控制系統可以告訴你每次所做的改動,但是圖片,視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件改動串起來,也就是知道圖片從1kb變成了2kb,但是到底改了哪些地方,版本控制也不知道。

下面先看demo演示:

在版本庫z6t目錄下新建一個記事本文件readme.txt內容如下:

第一步:使用命令git add readme.txt添加到暫存區去。如下:

如果和上面一樣,沒有任何提示,說明已經添加成功了。

第二步:用git commit告訴git把這個文件提交到倉庫。

現在已經提交了一個readme.txt文件了,-m后的內容是代碼提交時的注釋。下面可以通過git status來查看是否還有其他文件沒有提交,如下:

說明沒有任何文件未提交,下面繼續修改readme.txt,內容,比如添加一行內容。

繼續使用git status來查看下結果,如下:

上面的命令告訴我們readme.txt文件已經被修改,但是未被提交。注意看中間字的顏色,紅色表面還沒有提交到暫存區,綠色表明已經添加到了暫存區。

接下來想看下readme.txt到底做了什么修改,如何查看呢?使用git diff readme.txt如下:

可以看到,readme.txt文件內容從一行變成了兩行,添加了一行下邊的內容。

知道了對readme.txt文件做了什么修改后,就可以放心提交到倉庫了,提交修改和提交文件和第二步是一樣的(git add 和 git commit)

二:版本回退

如上,我們已經學會了修改文件,現在繼續對readme.txt文件進行修改,在增加一行,內容如下:

繼續執行命令如下:

現在對readme文件做了多次修改,下面我們查看下歷史記錄,如何查,我們可以使用git log命令。

git log命令顯示從近到遠的日志,如果嫌上面顯示的信息太多,可以使用git log --pretty=oneline(千萬注意是oneline,不是online),如下所示。

現在我們想使用版本回退操作,回退到上一個版本,使用什么命令呢?可以使用git reset --hard HEAD^,如果想回到上上個版本只需要把HEAD^改成HEAD^^以此類推。那如果要回到100個版本前,肯定不方便,我們可以使用git reset --hard HEAD~100即可。回退之前的readme.txt內容如下:

如果想回到上一個版本的操作命令:

可以看到已經回到了上一個版本,可以繼續使用git log來查看下歷史記錄信息,如下:

可以看到“添加第三行的內容”已經看不到了,但是現在想回退到最新版本,我們可以通過查看版本號回退,使用命令方法如下:

git reset --hard 版本號,可以通過git reflog查看版本號。

通過上面顯示我們可以知道,添加第三行的版本號是05b039a ,現在可以使用命令git reset --hard 05b039a 來恢復,演示如下:

可以看到目前已經是最新版本了,即處于 添加了第三行內容 版本,查看內容:

三:理解工作區與暫存區。

工作區:就是電腦上看到的目錄,(.git隱藏目錄版本除外)。或者以后新建的目錄文件都屬于工作區范疇。

版本庫(Repository):工作區有一個隱藏的目錄.git這個不屬于工作區,這個是版本庫,這里面有很多重要的文件,最重要的就是stage(暫存區),還有git未我們自動創建的第一個分支master,以及指向master的一個指針HEAD。

我們前面說過使用git提交文件到版本庫有兩步:

第一步:使用git add 把文件添加進去,實際上就是把文件添加到暫存區。

第二步:使用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支上。

我們繼續使用demo來演示下:

我們在read.txt再添加一行內容(hello.js)接著在目錄下新建一個lala.txt文件,內容(啦啦啦,啦啦啦),我們先使用git status來查看狀態,如下:

現在使用git add 命令把兩個文件都添加到暫存區中,在使用git status來查看狀態,如下:

已經添加到暫存區的為綠色字體,未添加的為紅色字體。

接著我們可以git commit一次性提交到分支上,如下:

 四:git撤銷修改和刪除文件操作。

比我現在在readme.txt文件里面增加一行內容為(惟沉默是最高的輕蔑。),我們先通過命令查看如下:

在提交之前,我發現添加的(惟沉默是最高的輕蔑。)內容有誤,所以我得馬上恢復以前的版本,現在我可以有如下的幾種方法可以做修改:

第一:如果我知道要刪掉那些內容的話,直接手動更改去掉那些需要的文件,然后add添加到暫存區,然后commit掉

第二:我可以按以前的方法直接恢復到上一個版本。使用git reset --hard HEAD^

但是現在我不想使用上面這兩種方法。接著撤銷該怎么操作呢?首先在做撤銷之前,使用git status查看當前的狀態。如下所示:顯示已經修改,但沒有添加到暫存區。

可以發現,git會告訴你,git checkout -- file可以丟棄工作區的修改,如下命令:

git checkout -- readme.txt (注意文件名前面必須有空格)

命令git checkout -- readme.txt意思就是把readme.txt文件在工作區做的修改全部撤銷,這里有2種情況,如下:

readme.txt自動修改后,還沒有到暫存區,使用撤銷修改就回到和版本庫一模一樣的狀態。另一種情況就是readme.txt已經進人暫存區了,接著又做了修改,撤銷修改就回到添加暫存區后的狀態。

對于上面的第二種情況,繼續做demo來看下,假如對readme.txt添加一行內容為(猛獸總是獨行,牛羊才成群結隊。)

使用git add 添加到暫存區后,接著添加內容(從來如此,便對么?)通過撤銷命令后讓其回到暫存區的狀態,如下所示:

注意:命令git checkout -- readme.txt中的--很重要,如果沒有--的話,那么命令就變成了創建分支了。

 二:刪除文件

假如在版本z6t目錄中添加一個文件666.txt,然后提交。如下:

如上:一般情況下,可以直接在文件目錄中把文件刪了,或者使用如上rm命令:rm 666.txt,如果想要在版本庫中徹底刪掉此文件,可以再執行commit命令提交掉,現在的文件目錄是這樣的:

只有沒有commit,如果想在版本庫中恢復此文件如何操作呢?

可以使用如下命令 git checkout -- b.txt,如下所示:

在來看文件目錄,添加了666.txt文件了,如下所示:

五:遠程倉庫

在了解之前,先注冊github賬號,由于你的git倉庫和github倉庫之間的傳輸是通過SSH加密的,所以需要一點設置。

第一步:創建SSH Key。在用戶目錄下,看看有沒有.SSH目錄,如果有,在看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果有的話,直接跳過此如下命令,如果沒有的話,打開命令行,輸入如下命令:

ssh-keygen -t rsa -C “youemail@example.com”

結果如下所示:

Id_ras是私匙,不能泄露出去,id_rsa.pub是公匙,可以放心地告訴任何人。

第二步:登錄github,打開“settings”中的SSH Keys頁面,然后點擊“Add SSH Key”填上任意title,在Key文本框里黏貼id_rsa.pub文件的內容。

點擊 Add keys,你就應該可以看到已經添加的key。

如何添加遠程庫?

現在的情景是:我們已經在本地創建了一個git倉庫,又想在github創建一個git倉庫,并希望這兩個倉庫進行遠程同步,這樣github的倉庫可以作為備份,其他人又可以通過該倉庫來協作。

首先登陸github上,然后右上角找到“create a new repo”創建一個新的倉庫。如下:

目前,在github上的這個testgit倉庫還是空的,github告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到github倉庫。

現在,根據github的提示,在本地倉庫下運行以下命令,輸入github用戶名,密碼:

Git remote add origin https://github.com/xz9594/testgit.git

把本地庫的內容推送到遠程,使用git push命令,實際上就是把當前分支master推送到遠程。由于遠程庫是空的,第一次提交時加上了-u參數,git不但會把本地的master分支內容推送到新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。推送成功后,可以立刻在github頁面中看到遠程庫的內容已經和本地一模一樣了,如下所示:

從現在起,只要本地做了提交,就可以通過如下命令:

把本地master分支的最新修改推送到github上了,現在你就擁有了真正的分布式版本庫了。

如何從遠程庫克???

上面我們了解了先有本地庫,后有遠程庫,如何管理遠程庫?,F在我們想,假如遠程庫有新的內容了,我想克隆到本地來,如何克隆呢?

首先登陸github,創建一個新的倉庫,名字叫做testDemo,如下:

現在,遠程庫已經準備好了,下一步就是使用git clone命令克隆一個本地庫了,如下所示:

接著在本地目錄下生成了testDemo目錄了,如下所示:

六:創建與合并分支。

在版本回退那里,已經知道每次提交,git都會把他們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在git里,這個分支叫主分支,即master。HEAD嚴格來說不是指向提交,而是指向master,master才是指向提交,所以,HEAD指向的就是當前分支,切換分支即可以理解為切換時間線。

首先,我們創建dev分支,然后切換到dev分支上。如下操作:

git checkout 命令加上-b參數表示創建并切換,相當于如下2條命令

git branck dev
Git checkout dev

Git branck查看分支,會列出所有當前分支,當前分支前面會添加星號,然后我們在dev分支上繼續做demo,比如我們在readme.txt再增加一行 keep foolish

在kobe分支添加并提交readme.txt

查看readme.txt

此時切換到master分支并查看readme.txt

合并kobe分支,git merge kobe:

git merge命令用于合并制定分支到當前分支上,合并后,再查看readme.txt內容,可以看到,和dev分支最新提交的是完全一樣的,注意上面的Fast-forward信息,git告訴我們,這次合并是“快進模式”,也就是把master指向dev的當前提交,所以合并速度非常快。合并完成之后,就可以刪除dev分支了,操作如下:git branch -d dev

如何解決沖突?

首先創建一個新分支,比如名字叫做james,在readme.txt添加一行內容keep hungry,然后提交,如下所示:

同樣,現在切換到master分支上來,查看此時的內容為keep hungry的內容,如下:

此時在readme.txt的最后添加一行內容,內容為keep healthy如下所示:

在add和commit  readme.txt后需要在master分支上合并james,如下:

我們再來看下readme.txt的內容如下:

Git 用,====,>>>>>標記出不同分支的內容,其中>>>分支上修改內容后保存:

查看分支合并情況,使用git log 如下:

3.分支管理策略

通常合并分支時,git一般使用的是“Fast forward”模式,在這種模式下,刪除分支后會丟掉分支信息,現在使用帶參數 --no-ff來禁用“fast forward”模式。看下面demo演示:

創建一個kobe分支。修改readme.txt的內容。添加到暫存區。切換回主分支(master)。合并dev分支,使用命令git merge --no-ff -m “注釋” dev查看歷史記錄

右上圖可見,刪除了“這是一個demo”(在kobe分支做的操作)分支后,原來的版本信息還存在。

分支策略:首先master主分支應該是非常穩定的,也就是用來發布新版本,一般情況下不允許在上面干活,干活一般情況在新建的dev分支上,干完后,比如要發布,或者說分支代碼穩定后可以合并到主分支master上來。

七:bug分支:

在開發中,會經常碰到bug問題,那么有了bug就需要修復,在git中,分支是很強大的額,每個bug都可以通過一個臨時分支來修復,修復完成后,合并分支,然后將臨時分支刪除掉。

比如在開發中遇到一個404 bug的時候,我們可以創建一個404分支來修復它,但是,當前dev分支上

Git基本常用命令如下:

mkdir: XX(創建一個空目錄XX指目錄名)

pwd:  顯示當前目錄的路徑

git init  把當前的目錄變成可以管理的git倉庫,生成隱藏的.git文件。

git add XX  把XX文件添加到暫存區。

git commit -m “XX” 提交文件 -m后面的是注釋

git status 查看倉庫狀態

git diff XX   查看XX文件修改了哪些內容

git log 查看歷史記錄

git reset -hard HEAD^ 或者git reset -hard HEAD~ 回退到上一個版本   (如果想回退到100個版本,使用git reset -hard HEAD~100)

cat XX 查看XX文件內容

git reflog  查看歷史記錄的版本號id

git checkout --XX    把XX文件在工作區的修改全部撤銷

git rm XX  刪除XX文件

git remote add origin https://github.com/xz9594/testgit.git  關聯一個遠程庫

git push -u (第一次提交要用-u以后不需要)origin master把當前master分支推送到遠程庫

git clone https://github.com/xz9594/testgit.git   從遠程庫中克隆

git checkout -b dev 創建dev分支  并切換到dev分支上

git branch  查看當前所有分支

git checkout master 切換回master分支

git merge dev 在當前分支上合并dev分支

git branch -d dev  刪除dev分支

git branch name 創建分支

git stash 把當前的工作隱藏起來等以后恢復現場后繼續工作

git stash list 查看所有被隱藏的文件列表

git stash apply 恢復被隱藏的文件,但是內容不刪除

git stash drop刪除文件

git stash pop 恢復文件的同時也刪除文件

git remote 查看遠程庫的信息

git remote -v 查看遠程庫的詳細信息

git push origin master    Git會把master分支推送到遠程庫對應的遠程分支上

git 還原push

1. git log

2. git reset --soft 43dc0de914173a1a8793a7eac31dbb26057bbee4

3. git push origin master --force

到此這篇關于詳解git的基本使用方法的文章就介紹到這了,更多相關git使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Git入門【推薦】
  • GitHub入門教程 手把手教你最簡單的開源項目托管
  • Git 教程簡單入門介紹

標簽:棗莊 忻州 許昌 汕尾 咸寧 萊蕪 七臺河 三沙

巨人網絡通訊聲明:本文標題《詳解git的基本使用方法》,本文關鍵詞  詳解,git,的,基本,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解git的基本使用方法》相關的同類信息!
  • 本頁收集關于詳解git的基本使用方法的相關信息資訊供網民參考!
  • 推薦文章