git(最先進的分布式版本控制系統)

2021-08-20 14:28:44 字數 2851 閱讀 7766

一、建立版本倉庫步驟:

1)首先,選擇乙個合適的地方,建立乙個空目錄。我在本機的d:\\test目錄下,建立了乙個

hello

目錄:2)使用git init命令

把這個目錄變成git可以管理的倉庫:

命令輸入後,會提示你,已經建立了乙個空的git倉庫。此時你會在hello目錄下發現乙個隱藏目錄.git 

這個目錄是git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把

git倉庫給破壞了。如果你沒有看到

.git

目錄,那是因為這個目錄預設是隱藏的,用ls -ah命令就可以看見。

此處的hello目錄就是我們的:工作區

,存放所有當前文件

。此目錄下的檔案才會被git管理

hello中的.git目錄就是我們的:本地倉庫,管理並儲存所有的文件變化及歷史狀態。

總結:建立版本庫的步驟:

(1)進入需要管理的目錄

(2)進行git init 命令

4)緊接著,將檔案新增到暫存區,具體實現命令:git add readme.txt ;

5)將暫存區檔案提交到本地倉庫,具體實現命令:git commit -m "create readme file" ;

命令解釋:

git commit命令可以將暫存區的檔案提交到版本庫。

-m引數,是本次提交的說明資訊,用來注釋本次提交做了些說明事情。

注意首次使用,需要告訴git使用者的基本資訊:

git config --global user.email "the email's name";

git config --global user.name 使用者名稱;

二、管理檔案修改

1)檢視工作區和版本庫裡面最新版本的區別,具體實現命令:git diff  --  readme.txt;

2)檢視狀態,具體實現命令: git status;

3)日誌檢視,具體實現命令: git log;也可使用git log --pretty=oneline,顯示資訊更簡潔

4)版本回退,回退乙個或兩個 git reset --hard head^,git reset --hard head^^,回退多個 git reset head~個數

5)檢視所有關聯日誌,具體實現命令:git reflog,此時,可以看見commit id,然後可以通過指定head的位置,進行版本回退,具體實現的**:git reset --hard id數字;

其實版本的回退,僅僅是修改head指標的位置而已,因此git進行版本的切換,比svn要快的多!

三、撤銷修改

1)撤銷工作區修改

對工作區修改後,會提示,檔案已經修改,需要暫存,此時,使用 git checkout -- readme.txt,來撤銷修改,其實就是從遠端倉庫重新拉取資料來覆蓋現有的資料而已。然後工作區就是「乾淨」的了。

2)撤銷已經新增至暫存區的修改

檢視狀態,會提示有乙個修改等待被提交,可以使用 git reset head readme.txt,來撤銷快取修改,再檢視狀態,就會發現檔案的修改被撤回到了工作區,尚未新增到暫存區,此時,再執行 git checkout  --  readme.txt,達到撤銷工作區修改的目的。

四、遠端倉庫

1.前往碼雲,自行註冊,**:

;2.建立乙個專案

3.建立ssh金鑰,具體實現的命令:ssh-keygen -t rsa;(一路回車)

執行完命令後,會在window本地使用者.ssh目錄 c:\users\使用者名稱\.ssh下面生成公鑰和私鑰,然後新增金鑰到git私服上。

4.關聯遠端倉庫

git remote add origin 倉庫的位址資訊(ssh);

5.推送本地倉庫到遠端倉庫的master分支:git push -u origin master;

7.拉取遠端倉庫資料:git pull;

五、分支的建立和合併

1)建立:git checkout -b 分支名;並切換到新的分支。相當於以下兩條命令:

git branch dev #建立分支

git checkout dev #切換到具體分支

2)在dev分支上進行修改和提交

3)再切換會原來的分支:git checkout master,發現此時readme並沒有改變,因為剛剛修改的時dev分支,此時的head已經指向了master。

4)使用git merge dev 將dev分支的修改合併到master分支。合併後,再檢視readme.txt的內容,就可以看到,和dev分支的最新提交是完全一樣的。

注意:有時會自動合併失敗,必須藥先解決檔案衝突才能合併,然後提交。

檢視readme.txt檔案,根據實際情況進行衝突解決,兩者皆留,兩者皆不留,兩者留其一。

5)合併以後,就可以將dev分支刪除,git branch -d dev

六、儲存工作區狀態

使用git stash命令將工作區儲存起來,等再次切換回當前分支時,通過git stash list命令來檢視

工作現場還在,git把

stash

內容存在某個地方了,但是需要恢復一下,有兩個辦法:

1) 方式1:用

恢復,但是恢復後,stash內容並不刪除,你需要用git stash drop來刪除;

2) 方式2:用git stash pop,恢復的同時把stash內容也刪了:

3) 注意,以上指令都可以在後面緊跟 stash的序號,來操作指定

stash

,例如:0}

GIT分布式版本控制

git config global user.name your name git config global user.email email example.com git init初始化建立版本庫 git clone url從網路上轉殖repository,注意clone是複製了history...

Git(分布式版本控制)

git 分布式版本控制 git伺服器端 root web1 yum install y git 安裝git root web1 mkdir var git root web1 git init var git project bare 建立乙個空的git倉庫 初始化空的 git 版本庫於 var g...

GIT 關於GIT如何實現分布式版本控制系統

1 何為分布式版本控制?它與傳統的版本控制有什麼不同?1.1什麼是版本控制 1.2 為什麼要有版本控制?系統軟體因為迭代而需要版本控制。迭代是因為客觀需求的變更而產生,對於團隊維護的系統迭代,需要對變更記錄做儲存並管理,便於日後出現bug快速查詢修改內容和修改日期。版本控制本身是乙個工具或者系統,發...