摘要:關(guān)于版本控制,其實可以對任何類型的文件進行版本控制。開始使用首先右擊選擇利用創(chuàng)建一個文件夾,然后進入當(dāng)前的文件夾,利用初始化項目倉庫,該命令將創(chuàng)建一個名為的子目錄,注意這是一個隱藏文件,你需要先顯示出電腦上的隱藏文件才能看見。
起步-關(guān)于版本控制
在介紹Git之前我們先了解一下什么是版本控制,在pro.Git這本書中說道:版本控制是一種記錄一個或若干文件內(nèi)容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。關(guān)于版本控制,其實可以對任何類型的文件進行版本控制。接下來我將介紹一下三種版本控制系統(tǒng)。
本地版本控制系統(tǒng)在最早的時候,一個開發(fā)者要開發(fā)一個項目,那時人們習(xí)慣于復(fù)制整個項目目錄的方式來保存不同的版本,這樣的好處是簡單,但是壞處也是很明顯的,當(dāng)復(fù)制黏貼多了以后,一個開發(fā)者自己都會混淆,更不要說讓別人去了解了。
集中化的版本控制系統(tǒng)這個控制系統(tǒng)的出現(xiàn)已經(jīng)可以解決上面所說的那個問題了,同時還讓不同系統(tǒng)上的開發(fā)者可以協(xié)同工作。這種方式的原理是利用一個單一的集中管理的服務(wù)器,用于保存所有文件的修訂版,而協(xié)同工作的人們都通過客戶端連到這臺服務(wù)器,取出最新的文件或者提交更新。但是這樣同樣也會有一個問題,假如一個開發(fā)者他為公司開發(fā)項目,這就意味著,他想要提交更新代碼只能在公司,如果他想在家提交代碼,這是不可以的,這樣的話就有極大的限制了,而且一旦服務(wù)器出現(xiàn)故障,那么所有的代碼,就有可能就沒有了,這對開發(fā)者開說是一個巨大是災(zāi)難。
分布式的版本控制系統(tǒng)什么是分布式的版本控制系統(tǒng)呢?這里簡單舉一個例子,當(dāng)一個項目有很多開發(fā)者去完成時,每一位開大者并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來,這就意味著其實每一位開發(fā)者的本地其實都是一個服務(wù)器,這樣的話即使我的代碼丟失了,那我同事或者遠程倉庫那應(yīng)該會有備份我可以去他那拷貝。接下來我們要說的git就是一種分布式的版本控制系統(tǒng),至于為什么使用git而不使用其他的大家可以參考:。。。
Git簡單使用 安裝git在Linux上安裝
sudo apt-get install git
git在windows上安裝
https://git-scm.com/downloads...,然后下一步,下一步安裝就可以了。安裝玩以后再自己的電腦上,
注:如果上述安裝方式并不能安裝,你可以去Git官網(wǎng)上去看看,或者百度一下,就會有很多的安裝教程。
設(shè)置配置信息一般第一次安裝以后就應(yīng)該去配置一下信息,安裝玩git以后,在電腦桌面上右擊可以看到多了一個git Bash Here和git GUI Here,一般我比較常用git Bash,類似于一個命令行。
用戶信息當(dāng)安裝完 Git 應(yīng)該做的第一件事就是設(shè)置你的用戶名稱與郵件地址。 這樣做很重要,因為每一個 Git 的提交都會使用這些信息,并且它會寫入到你的每一次提交中,不可更改:
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
注意:上面兩個是例子,請不要填寫一樣的user.name和user.email,還有就是在打的時候注意空格。設(shè)置完信息以后可以利用git config --list查看用戶的配置信息。
首先右擊選擇git bash利用mkdir gitDemo創(chuàng)建一個文件夾,然后cd ./gitDemo進入當(dāng)前的文件夾,利用git init初始化項目倉庫,該命令將創(chuàng)建一個名為 .git 的子目錄,注意這是一個隱藏文件,你需要先顯示出電腦上的隱藏文件才能看見。在具體上git命令之前我們先理解一下git中常見的集中狀態(tài)
圖片描述Working Directory:表示的是你電腦的上寫代碼的地方成為工作區(qū)
Staging Area:表示的是暫存區(qū)
.git(Repository):表示的是本地的倉庫,也叫歷史區(qū),
至于那幾個箭頭分別表示的是一些git中的操作等會我們會說。
這個命令主要用于查看當(dāng)前的狀態(tài),另一個功能就是有時候可以提示你下一步的操作。等會我們會使用到git status
add命令首先我們先再我們創(chuàng)建的gitDemo文件夾中創(chuàng)建一個index.html,然后可以隨便使用什么編輯器打開寫上111此時這個文件存放的位置就是在工作區(qū)中,現(xiàn)在我們可以使用git add index.html,讓git來跟蹤這些文件,也可以理解為將文件從工作區(qū)提交到暫存區(qū)。這里我們用status進行查看一下
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached
new file: index.html
commit命令
在文件存放到暫存區(qū)以后我們就要將文件提交到歷史區(qū)了此時我們使用的命令是git commit -m "文件的描述","文件的描述"就是指你提交的代碼改了什么,或者加了什么功能等等。在使用git status進行查看
On branch master
nothing to commit, working tree clean
提示沒有什么要提交的,工作區(qū)是干凈的.
注意:一個文件如果在暫存區(qū)并未提交,但是此時又修改了文件,這就意味著文件有兩種狀態(tài),一種在工作區(qū),一種在暫存區(qū)這樣的文件是提交不上去的需要再次使用git add <文件名>
當(dāng)文件提交到呢目的倉庫以后我們可以使用git log來查看提交的日志文件,注意:日志文件里面有一個commit即提交的版本號,這個以后可以用于版本回退。
例如:
commit a9ba8e706093c0ab2e5470c347e30a7a268edaf4 (HEAD -> master)
Author: YH
Date: Wed Nov 8 22:19:43 2017 +0800
提交index
注:git log --oneline可以在一行查看日志
git log --graph --oneline圖形化查看日志
rm 命令如果一個文件存在暫存區(qū)了現(xiàn)在我們又不想提交它了,那么可以使用git rm --cached <文件名>將文件從暫存區(qū)移除。
git diff
查看工作區(qū)和暫存區(qū)的區(qū)別,例如你可以在index.html里面在加一個222,然后使用git diff,那么你就可以看見
diff --git a/index.html b/index.html
index 58c9bdf..a30a52a 100644
--- a/index.html
+++ b/index.html
@@ -1 +1,2 @@
111
+222
+222表示添加上一個222
查看工作區(qū)和當(dāng)前分支倉庫的區(qū)別git diff HEAD
查看暫存區(qū)和歷史區(qū)的區(qū)別git diff --cached
由于我們這里只有一個版本,所以我們將前面添加的222頁提交到本地倉庫中然后使用git log查看
commit 5161c3991d3e21777dd3ab7f2c9b853cf5397541 (HEAD -> master)
Author: YH
Date: Wed Nov 8 22:38:32 2017 +0800
添加222
commit a9ba8e706093c0ab2e5470c347e30a7a268edaf4
Author: YH
Date: Wed Nov 8 22:19:43 2017 +0800
提交index
現(xiàn)在我們不想要222了,那該怎么辦呢?我們可以使用git reset --hard HEAD^表示回到上一個版本,git reset --hard <版本號>表示回到指定版本,版本號就是git log輸出的commit
chekout命令如果我們在本地寫了代碼又不想要了怎么辦呢?我們可以使用git checkout命令指從暫存區(qū)取到代碼放到工作區(qū)。到這里我們就應(yīng)該理解了其實無論的工作區(qū),暫存區(qū),本地倉庫其實都是有一份代碼存放在那的,當(dāng)我們在工作區(qū)誤刪,誤改了什么代碼其實并不要緊。
關(guān)于git分支的操作其實在我們初始化項目的時候git就默認為我們創(chuàng)建了一個master分支了,在git中默認有一個頭指針指向這個master, 當(dāng)我們每次提交代碼的時候該指針就會向前進行相應(yīng)的移動。例如:我們前提交了兩次代碼我們使用git log --graph --oneline查看
5161c39 (HEAD -> master) 添加222
a9ba8e7 提交index
*表示當(dāng)前操作的分支,
51**表示原來commit的簡化
HEAD:頭指針此時指向master
git barnch <分支名稱>例如我們這里再創(chuàng)建一個dev分支git branch dev,利用git branch可以查看當(dāng)前支
dev
master
切換分支
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/112700.html
摘要:提交一個簡單文件首先,使用的客戶端將項目到本地假設(shè)將這個項目的目錄放在了中然后打開進入目錄然后在目錄里面新建一個寫上然后這樣,就將文件加到本地的項目中。命令只是提交到本地倉庫,并沒有提交到遠端。合并分支將的分支合并到當(dāng)前分支。 提交一個簡單文件 首先,使用GitHub的`windows客戶端將項目clone到本地假設(shè)將test這個項目的目錄放在了中C:xampphtdocsGithub...
摘要:現(xiàn)在讓我們進入到剛剛創(chuàng)建的本地倉庫也就是那個文件夾。要進入自己的本地倉庫的話,需要再次輸入這是我的一個本地倉庫按回車。初始化完成之后在里面你的本地倉庫名后面也會出現(xiàn)。 添加Git本地倉庫 首先,我們要建立一個本地倉庫(說白了就是一個文件夾)然后,啟用咱們的Git Shell(在wndows開始菜單->所有應(yīng)用->GitHub,Inc文件夾里面) 打開是這樣子的:showImg(http...
閱讀 2651·2021-11-22 15:24
閱讀 1383·2021-11-17 09:38
閱讀 2757·2021-10-09 09:57
閱讀 1209·2019-08-30 15:44
閱讀 2449·2019-08-30 14:00
閱讀 3550·2019-08-30 11:26
閱讀 2942·2019-08-29 16:28
閱讀 757·2019-08-29 13:56