91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Git基礎入門(四)Git基本操作2

發布時間:2020-03-13 06:13:15 來源:網絡 閱讀:459 作者:紅塵世間 欄目:軟件技術

忽略文件:

    在實際開發過程中總有些文件無需納入Git的管理,比如日志文件、臨時文件等

    在這種情況下,我們可以在工作目錄中創建一個名為.gitignore的文件,列出要忽略的文件名或者表達式 

    

    例:cat .gitignore

        *.[oa]

        *~

        *.log

    

    第一行告訴Git忽略所有以.o或.a結尾的文件

    第二行告訴Git忽略所有以 ~ 結尾的文件

    第三行告訴Git忽略所有以.log結尾的文件


    要養成一開始就設置好.gitignore文件的習慣,以免將來誤提交這類無用的文件


    .gitignore的格式規范:

        所有空行或者以#開頭的行都會被Git忽略

        可以使用標準的glob模式匹配

        匹配模式可以以(/)開頭防止遞歸

        匹配模式可以以(/)結尾指定目錄

        要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反




glob模式指shell命令行所使用的統配符

    *:匹配零個或多個任意字符

    ?:匹配任意一個字符

    **:表示匹配任意中間目錄,比如'a/**/z',可以匹配 a/z,a/b/z 或'a/b/c/z'等

    [abc]:匹配任何一個列在方括號中的字符;

    [0-9]:匹配0到9的數字

    [a-z]:匹配a到z的字母

    [A-Z]:匹配A到Z的字母



.gitignore例子:

    # no .a files

    *.a


    # but do track lib.a, even though you're ignoring .a files above

    !lib.a


    # only ignore the TODO file in the current directory, not subdir/TODO

    /TODO


    # ignore all files in the build/ directory

    build/


    # ignore doc/notes.txt, but not doc/server/arch.txt

    doc/*.txt


    # ignore all .pdf files in the doc/ directory

    doc/**/*.pdf


GitHub上有一個十分詳細的針對數十種項目及語言的.gitignore文件列表

地址:https://github.com/github/gitignore





git diff查看具體修改的內容   

    echo "/usr/bin/python" > test.py                        #修改文件

    git diff                                                #比較當前文件和快照中文件的差異

        diff --git a/test.py b/test.py                      #產生差異的文件

        index df2203b..d5aba22 100644

        --- a/test.py

        +++ b/test.py

        @@ -1 +1 @@ 

        -coding:utf-8                                       #"-"表示刪除的行

        +/usr/bin/python                                    #"+"表示新增的行



git diff --cached(或--staged)查看已暫存的下次提交里的內容:

    git add test.py                                     #將文件添加到暫存區     

    git diff                                            #這時使用git diff將什么也不會輸出,應為文件已經放入暫存區

    git diff --cached                                   #查看暫存區的文件差異

        diff --git a/test.py b/test.py

        index df2203b..d5aba22 100644

        --- a/test.py

        +++ b/test.py

        @@ -1 +1 @@

        -coding:utf-8

        +/usr/bin/python



git difftool                #打開一個文本編輯器顯示文件差異(適合文件少時使用,較為直觀)



提交更新

    在提交之前,請一定要確認還有什么修改過的或新建的文件還沒有git add過,否則提交的時候不會記錄這些還沒暫存起來的變化

    每次準備提交前,先用git status看下,是不是都已暫存起來了,然后再運行git commit提交



    git commit會啟動一個默認文本編輯器以便輸入本次提交的說明(使用git config --global core.editor='vim'設定默認的編輯器)


    編輯器會顯示類似下面的信息:


        # Please enter the commit message for your changes. Lines starting

        # with '#' will be ignored, and an empty message aborts the commit.

        # On branch master

        # Changes to be committed:

        #       modified:   test.py


    #開頭的為注釋信息不會提交到git倉庫中


    如果想要更詳細信息,可以用-v選項,這會將你所做的改變的diff輸出放到編輯器

    退出編輯器時,Git會丟掉注釋行,用你輸入提交附帶信息生成一次提交



    git commit -m "version-6"               #直接在命令行輸入說明信息

        [master 3687f51] version-6                              #提交后輸出的信息(master分支名稱,3687f51校驗和,version-6 注釋信息)

        1 file changed, 1 insertion(+), 1 deletion(-)



    提交時記錄的是放在暫存區域的快照,任何還未暫存的仍然保持已修改狀態

    每一次運行提交操作,都是對項目作一次快照,以后可以回到這個狀態,或者進行比較



跳過使用暫存區域

    使用git commit -a時Git會自動把所有已經跟蹤過的文件暫存起來一并提交,從而跳過git add步驟,但不會把未跟蹤的文件暫存




移除文件

    git rm              #從已跟蹤的文件清單中刪除,并連帶從工作目錄中刪除指定的文件

    

    git rm命令后面可以列出文件或者目錄的名字,也可以使用glob模式

    如果使用shell命令rm刪除文件,需要再運行git rm記錄此次移除文件的操作

    如果刪除之前修改過并且已添加到暫存區域,則必須-f強制刪除,這是一種安全特性,用于防止誤刪還沒有添加到快照的數據,這樣的數據不能被Git恢復



如果想把文件從Git倉庫中刪除,但仍然希望保留在當前工作目錄中。(想讓文件保留在磁盤,但是并不想讓 Git 繼續跟蹤)

git rm --cached <file>                #從git倉庫中刪除文件或目錄


例:

    git rm --cached test.py 

        rm 'test.py'

    git status

        On branch master

        Changes to be committed:

          (use "git reset HEAD <file>..." to unstage)


        deleted:    test.py


        Untracked files:

          (use "git add <file>..." to include in what will be committed)

    

        test.py                     #從git

    ls

        test.py



移動文件或改名

    git mv <file-from>  <file-to>

    

    git mv相當于下面三條命令的結合:

        mv README.md README

        git rm README.md

        git add README



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 高安市| 饶河县| 佛教| 黄大仙区| 五峰| 和平县| 大足县| 德州市| 九江市| 莎车县| 惠州市| 安达市| 盐边县| 镇赉县| 凉山| 宁德市| 泾阳县| 平潭县| 陆良县| 苏尼特左旗| 平度市| 会同县| 成都市| 隆昌县| 马龙县| 泸定县| 铜川市| 改则县| 江川县| 平果县| 井冈山市| 南京市| 图们市| 栾城县| 和硕县| 苍梧县| 三明市| 泽普县| 来安县| 崇明县|