最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git創(chuàng)建版本庫_動力節(jié)點Java學院整理

 更新時間:2017年08月11日 10:44:57   作者:liaoxuefeng  
這篇文章主要為大家詳細介紹了git創(chuàng)建版本庫的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
所以,創(chuàng)建一個版本庫非常簡單,首先,選擇一個合適的地方,創(chuàng)建一個空目錄:

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

pwd命令用于顯示當前目錄。在我的Mac上,這個倉庫位于/Users/michael/learngit。

如果你使用Windows系統(tǒng),為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。

第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發(fā)現(xiàn)當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。

如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見。

也不一定必須在空目錄下創(chuàng)建Git倉庫,選擇一個已經(jīng)有東西的目錄也是可以的。不過,不建議你使用自己正在開發(fā)的公司項目來學習Git,否則造成的一切后果概不負責。

把文件添加到版本庫

首先這里再明確一下,所有的版本控制系統(tǒng),其實只能跟蹤文本文件的改動,比如TXT文件,網(wǎng)頁,所有的程序代碼等等,Git也不例外。版本控制系統(tǒng)可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視頻這些二進制文件,雖然也能由版本控制系統(tǒng)管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統(tǒng)不知道,也沒法知道。

不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統(tǒng)是沒法跟蹤Word文件的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統(tǒng),就要以純文本方式編寫文件。
因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持。

使用Windows的童鞋要特別注意:

千萬不要使用Windows自帶的記事本編輯任何文本文件。原因是Microsoft開發(fā)記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的文件,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題,比如,網(wǎng)頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的。建議你下載Notepad++代替記事本,不但功能強大,而且免費!記得把Notepad++的默認編碼設置為UTF-8 without BOM即可:

言歸正傳,現(xiàn)在我們編寫一個readme.txt文件,內(nèi)容如下:

Git is a version control system.
Git is free software.

一定要放到learngit目錄下(子目錄也行),因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件。
和把大象放到冰箱需要3步相比,把一個文件放到Git倉庫只需要兩步。

第一步,用命令git add告訴Git,把文件添加到倉庫:

$ git add readme.txt

執(zhí)行上面的命令,沒有任何顯示,這就對了,Unix的哲學是“沒有消息就是好消息”,說明添加成功。

第二步,用命令git commit告訴Git,把文件提交到倉庫:

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

簡單解釋一下git commit命令, -m后面輸入的是本次提交的說明,可以輸入任意內(nèi)容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。

嫌麻煩不想輸入-m "xxx"行不行?確實有辦法可以這么干,但是強烈不建議你這么干,因為輸入說明對自己對別人閱讀都很重要。實在不想輸入說明的童鞋請自行Google,我不告訴你這個參數(shù)。
git commit命令執(zhí)行成功后會告訴你,1個文件被改動(我們新添加的readme.txt文件),插入了兩行內(nèi)容(readme.txt有兩行內(nèi)容)。

為什么Git添加文件需要add,commit一共兩步呢?因為commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

我們已經(jīng)成功地添加并提交了一個readme.txt文件,現(xiàn)在,是時候繼續(xù)工作了,于是,我們繼續(xù)修改readme.txt文件,改成如下內(nèi)容:

Git is a distributed version control system.
Git is free software.

現(xiàn)在,運行git status命令看看結(jié)果:

$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

git status命令可以讓我們時刻掌握倉庫當前的狀態(tài),上面的命令告訴我們,readme.txt被修改過了,但還沒有準備提交的修改。

雖然Git告訴我們readme.txt被修改了,但如果能看看具體修改了什么內(nèi)容,自然是很好的。比如你休假兩周從國外回來,第一天上班時,已經(jīng)記不清上次怎么修改的readme.txt,所以,需要用git diff這個命令看看:

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.

git diff顧名思義就是查看difference,顯示的格式正是Unix通用的diff格式,可以從上面的命令輸出看到,我們在第一行添加了一個“distributed”單詞。

知道了對readme.txt作了什么修改后,再把它提交到倉庫就放心多了,提交修改和提交新文件是一樣的兩步,第一步是git add:

$ git add readme.txt

同樣沒有任何輸出。在執(zhí)行第二步git commit之前,我們再運行git status看看當前倉庫的狀態(tài):

$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#  modified: readme.txt
#

git status告訴我們,將要被提交的修改包括readme.txt,下一步,就可以放心地提交了:

$ git commit -m "add distributed"
[master ea34578] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

提交后,我們再用git status命令看看倉庫的當前狀態(tài):

$ git status
# On branch master
nothing to commit (working directory clean)

Git告訴我們當前沒有需要提交的修改,而且,工作目錄是干凈(working directory clean)的。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 基于http.server搭建局域網(wǎng)服務器過程解析

    基于http.server搭建局域網(wǎng)服務器過程解析

    這篇文章主要介紹了基于http.server搭建局域網(wǎng)服務器過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 通過cmd?連接阿里云服務器的操作方法

    通過cmd?連接阿里云服務器的操作方法

    這篇文章主要介紹了通過cmd連接阿里云服務器,在這里講一下買完服務器的要做的第一步就是去服務器的后臺做相應的操作,本文通過兩種方法給大家講解連接服務器,需要的朋友可以參考下
    2022-04-04
  • ubuntu服務器部署gitlab docker并配置nginx反向代理https訪問的過程解析

    ubuntu服務器部署gitlab docker并配置nginx反向代理https訪問的過程解析

    這篇文章主要介紹了ubuntu服務器部署gitlab docker并配置nginx反向代理https訪問的過程,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Windows搭建NTP時間同步服務器教程詳解

    Windows搭建NTP時間同步服務器教程詳解

    網(wǎng)絡時間協(xié)議,英文名稱:Network?Time?Protocol(NTP)是用來使計算機時間同步化的一種協(xié)議,這篇文章主要介紹了Windows搭建NTP時間同步服務器的圖文教程,需要的可以收藏一下
    2023-08-08
  • Linux下搭建HTTP服務器完成圖片顯示功能

    Linux下搭建HTTP服務器完成圖片顯示功能

    這篇文章作為Linux下socket(TCP)網(wǎng)絡編程的練習,使用C語言代碼搭建一個簡單的HTTP服務器,完成與瀏覽器之間的交互,最終在瀏覽器上顯示一張圖片;通過這個例子可以鞏固socket里多線程使用,也可以方便學習了解HTTP協(xié)議
    2022-04-04
  • windows下文件同步工具 CwRsync 4.0.2 安裝配置方法(圖文)

    windows下文件同步工具 CwRsync 4.0.2 安裝配置方法(圖文)

    這篇文章主要介紹了CwRsync 4.0.2 安裝配置方法,需要的朋友可以參考下
    2015-01-01
  • SNMP4J服務端連接超時問題解決方案

    SNMP4J服務端連接超時問題解決方案

    這篇文章主要介紹了SNMP4J服務端連接超時問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Flink實踐Savepoint使用示例詳解

    Flink實踐Savepoint使用示例詳解

    這篇文章主要為大家介紹了Flink實踐Savepoint使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 使用cwRsync實現(xiàn)windows下服務器文件定時同步備份(附錯誤處理方法)

    使用cwRsync實現(xiàn)windows下服務器文件定時同步備份(附錯誤處理方法)

    原來服務器一直用綠環(huán)ftp同步工具,發(fā)現(xiàn)一些大文件經(jīng)常無法同步,所以這里推薦使用cwRsync
    2012-06-06
  • 分享幾款linux下常見的vps控制面板

    分享幾款linux下常見的vps控制面板

    VPS主機控制面板主要是用來控制和管理VPS服務器的,一般來說如果想要將VPS主機共享出來給多個人使用的話,我們就會采用類似于Cpanel、Virtualmin等主機控制面板。如果VPS主機只是一個人使用的話部落建議還是不要使用主機控制面板,以免帶來不必要的安全隱患
    2017-07-07

最新評論

独山县| 泾阳县| 卓资县| 游戏| 搜索| 永寿县| 乡宁县| 河北省| 襄汾县| 宕昌县| 田林县| 虎林市| 临猗县| 康乐县| 红桥区| 遵义市| 东宁县| 德格县| 夏邑县| 邯郸市| 师宗县| 兴业县| 花莲市| 旌德县| 荆门市| 梅州市| 左云县| 拜泉县| 昭平县| 海口市| 云阳县| 江津市| 壤塘县| 科技| 梁平县| 青冈县| 景德镇市| 石屏县| 台北市| 广昌县| 乌拉特后旗|