<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 創建版本庫 什么是版本庫呢?版本庫又名倉庫,英文名**repository**,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。 所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄: ``` $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit ``` `pwd`命令用于顯示當前目錄。在我的Mac上,這個倉庫位于`/Users/michael/learngit`。 如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。 第二步,通過`git init`命令把這個目錄變成Git可以管理的倉庫: ``` $ git init Initialized empty Git repository in /Users/michael/learngit/.git/ ``` 瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個`.git`的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。 如果你沒有看到`.git`目錄,那是因為這個目錄默認是隱藏的,用`ls -ah`命令就可以看見。 http://michaelliao.gitcafe.io/video/git-init.mp4 也不一定必須在空目錄下創建Git倉庫,選擇一個已經有東西的目錄也是可以的。不過,不建議你使用自己正在開發的公司項目來學習Git,否則造成的一切后果概不負責。 ## 把文件添加到版本庫 首先這里再明確一下,所有的版本控制系統,其實只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼等等,Git也不例外。版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。 不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word文件的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文本方式編寫文件。 因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持。 使用Windows的童鞋要特別注意: 千萬不要使用Windows自帶的**記事本**編輯任何文本文件。原因是Microsoft開發記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的文件,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題,比如,網頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的。建議你下載[Notepad++](http://notepad-plus-plus.org/)代替記事本,不但功能強大,而且免費!記得把Notepad++的默認編碼設置為UTF-8 without BOM即可: ![set-utf8-notepad++](img/001384907170801199e153159cc4a438bed8d255edf157a000.png) 言歸正傳,現在我們編寫一個`readme.txt`文件,內容如下: ``` Git is a version control system. Git is free software. ``` 一定要放到`learngit`目錄下(子目錄也行),因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件。 和把大象放到冰箱需要3步相比,把一個文件放到Git倉庫只需要兩步。 第一步,用命令`git add`告訴Git,把文件添加到倉庫: ``` $ git add readme.txt ``` 執行上面的命令,沒有任何顯示,這就對了,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 ``` http://michaelliao.gitcafe.io/video/add-and-commit.mp4 簡單解釋一下`git commit`命令,`-m`后面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。 嫌麻煩不想輸入`-m "xxx"`行不行?確實有辦法可以這么干,但是強烈不建議你這么干,因為輸入說明對自己對別人閱讀都很重要。實在不想輸入說明的童鞋請自行Google,我不告訴你這個參數。 `git commit`命令執行成功后會告訴你,1個文件被改動(我們新添加的readme.txt文件),插入了兩行內容(readme.txt有兩行內容)。 為什么Git添加文件需要`add`,`commit`一共兩步呢?因為`commit`可以一次提交很多文件,所以你可以多次`add`不同的文件,比如: ``` $ git add file1.txt $ git add file2.txt file3.txt $ git commit -m "add 3 files." ``` ## 小結 現在總結一下今天學的兩點內容: 初始化一個Git倉庫,使用`git init`命令。 添加文件到Git倉庫,分兩步: * 第一步,使用命令`git add &lt;file&gt;`,注意,可反復多次使用,添加多個文件; * 第二步,使用命令`git commit`,完成。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看