<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # git詳細用法 [TOC] ## 一、初始化目錄 ### 1.創建目錄 ```sh mkdir git_data cd git_data/ ``` ### 2.初始化 ```sh git init Initialized empty Git repository in /root/git_date/.git/ ``` ### 3.查看狀態 ```sh git status # On branch master # Initial commit nothing to commit (create/copy files and use "git add" to track) ``` 狀態解釋: 當前master上,初始化完成,目錄中的內容沒有任何改變 ## 二、提交數據 ### 1.創建數據造成改變 ```sh touch README git status ``` ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173423128.png) ### 2.提交數據至暫存區 ```sh git add README git status ``` ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173431474.png) ### 3.提交文件至本地倉庫 ```sh git commit -m 'firter commit' ``` ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173441853.png) ```sh git status ``` ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173450051.png) ## 三、git用法整理 ### 1.添加新文件 1) 常規辦法 添加到暫存區域 ```sh git add */./abc.txt *和.和具體的文件名都可以 ``` 提交git倉庫 ```sh git commit -m "注釋信息" -m 后面接上注釋信息,內容關于本次提交的說明,方便自己或他人查看 ``` 2) 簡便方法 ```sh git commit -a -m "注釋信息" -a 表示直接提交,但只能針對已經存在的文件,如果是新建的文件,則需要先add在commit ``` ### 2.刪除暫存區數據 沒有添加到暫存區的數據直接rm刪除即可,已經添加到暫存區數據需用git rm命令刪除 ```sh git rm --cached def.txt ``` 將文件def從git暫存區域的追蹤列表移除(并不會刪除當前工作目錄內的數據文件) ```sh git rm -f def.txt ``` 將文件數據從git暫存區和工作目錄一起刪除 ### 3.重命名暫存區數據 沒有添加到暫存區的數據直接mv/rename改名即可,已經添加到暫存區數據用git mv命令刪除 ```sh git mv abc.txt def.txt ``` ### 4.查看歷史記錄 查看提交歷史記錄 ```sh git log ``` 查看最近幾條記錄 ```sh git log -2 ``` 顯示每次提交的內容差異,例如僅查看最近一次差異 ```sh git log -p -1 ``` stat簡要顯示數據增改行數,這樣能夠看到提交中修改過的內容,對文件添加或移動的行數,并在最后列出所有增減行的概要信息 ```sh git log --stat -2 ``` retty根據不同的格式展示提交的歷史信息 ```sh git log --pretty=oneline ``` 以更詳細的模式輸出提交的歷史記錄 ```sh git log --pretty=fuller -2 ``` 查看當前所有提交記錄的簡短SHA-1哈希字串與提交者的姓名,其他格式見備注。 ```sh git log --pretty=fomat:"%h %cn" ``` ### 5.還原歷史記錄 Git服務程序中有一個叫做HEAD的版本指針,當用戶申請還原數據時,其實就是將HEAD指針指向到某個特定的提交版本,但是因為Git是分布式版本控制系統,為了避免歷史記錄沖突,故使用了SHA-1計算出十六進制的哈希字串來區分每個提交版本,另外默認的HEAD版本指針會指向到最近的一次提交版本記錄,而上一個提交版本會叫HEAD^,上上一個版本則會叫做HEAD^^,當然一般會用HEAD~5來表示往上數第五個提交版本。 還原歷史提交版本上一次 ```sh git reset --hard HEAD^ ``` 通過哈希值還原 ```sh git reset --hard 3de15d4 ``` 找到歷史還原點的SHA-1值后,就可以還原(值不寫全,系統會自動匹配) ### 6.還原未來數據 什么是未來數據?就是你還原到歷史數據了,但是你后悔了,想撤銷更改,但是git log已經找不到這個版本了。 查看未來歷史更新點 ```sh git reflog ``` ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173500740.png) 還原到第二次的修改 ```sh git reset --hard 197c823 HEAD is now at 197c823 scrond modiry ``` ### 7.數據對比 git diff可以對比當前文件與倉庫已保存文件的區別,知道了對README作了什么修改后,再把它提交到倉庫就放心多了。 ```sh git diff README ``` ## 四、標簽和分支 ### 1.標簽使用 前面回滾使用的是一串字符串,又長又難記。可以使用打標簽的方式,每次提交時對當前版本打一個標簽,然后根據標簽進行回滾 1) 給當前內容打標簽 ```sh #普通標簽 git tag v1.0 #帶說明的標簽 git tag v1.2 -m "version 1.2 release is test" ``` 2) 查看標簽 ```sh git tag ``` 查看當前所有的標簽 3) 根據標簽看信息 查看當前1.0版本的詳細信息 ```sh git show v1.0 ``` 4) 刪除標簽 ```sh git tag -d v1.0 ``` 5) 根據標簽回滾數據 ```sh git reset --hard 0bdf2e7 HEAD is now at 0bdf2e7 modified README file git reset --hard V1.0 HEAD is now at a66370a add oldboy dir ``` ### 2.分支結構 在實際的項目開發中,盡量保證master分支穩定,僅用于發布新版本,平時不要隨便直接修改里面的數據文件。干活都在dev分支上。每個人從dev分支創建自己個人分支,開發完合并到dev分支,最后dev分支合并到master分支。 所以團隊的合作分支看起來會像下圖那樣。 ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20200308/173509553.png) 1) 創建和切換分支 ```sh #創建分支 git branch dev #切換分支 git checkout dev #查看當前分支情況, git branch ``` 2) 合并分支 合并分支的操作需要在主分支上進行操作,假如想把dev分支合并到master分支上,先切換到master分支 ```sh git merge dev ``` 合并dev分支至master 3) 刪除分支 ```sh git branch -d dev ``` 確認合并完成后,可以放心地刪除dev分支 ### 3.分支沖突解決 如果同時master和dev分支都對同一個文件修改了并進行了提交,最后merge的時候會提示沖突,針對沖突文件,git會將兩個分支的修改內容都寫入該文件中,并寫明哪段內容來自哪個分支,需要根據提示找到該文件,將沖突的內容修改掉才可以
                  <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>

                              哎呀哎呀视频在线观看