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

                [TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">簡介說明</b> 原文鏈接: - [官網文檔](https://git-scm.com/docs) - [PR實戰](https://zhuanlan.zhihu.com/p/51199833) - [Git 運行配置(git config、gitk、git gui)](https://www.jianshu.com/p/f29ca723db4f) ``` 版本:git指令指南 作用:git指令指南 ``` <br/> # <b style="color:#4F4F4F;">指令指南</b> <br/> # <span style="color:#619BE4">git</span> ***** 版本庫管理工具 <br/> ### 參數說明 <b style="color:#808080;">(\--no-pager)</b> * 類型:字符串 * 默認值:無 * 描述:不分頁輸出 * 可選值:[ ] <br/> # <span style="color:#619BE4">git config</span> ***** 本地配置文件操作,用于基本設置 <br/> ### 參數說明 <b style="color:#808080;">(\-\-list) :</b> * 類型:字符串 * 默認值:無 * 描述:查看所有配置信息 * 可選值:[ ] <b style="color:#808080;">(\-\-system) :</b> * 類型:字符串 * 默認值:無 * 描述:配置系統級別參數 * 可選值:[ ] <b style="color:#808080;">(\-\-global) :</b> * 類型:字符串 * 默認值:無 * 描述:配置用戶級別參數 * 可選值:[ ] <b style="color:#808080;">(\-\-local) :</b> * 類型:字符串 * 默認值:無 * 描述:配置當前倉庫級別參數 * 可選值:[ ] <b style="color:#808080;">-unset :</b> * 類型:字符串 * 默認值:無 * 描述:從配置文件刪除匹配的鍵 * 可選值:[ ] <b style="color:#808080;">-unset-all :</b> * 類型:字符串 * 默認值:無 * 描述:刪除所有鍵 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 查看所有配置的信息</span> ``` 控制臺輸入命令:git config --list ``` ![git配置](https://img.kancloud.cn/15/ff/15ff515a8a8e6f5f949e7b044e1ce201_540x322.png) <br/> <span style="color:red">2. 首次安裝必要配置</span> ``` # 設置用戶名 git config --global user.name "lisys" # 默認編輯器 git config --global core.editor # 解決沖突的工具 git config --global merge.tool # 永久記錄密碼【二選一】 git config --global credential.helper store # 臨時記錄密碼【二選一】 git config --global credential.helper cache # 提交檢出均不轉換回車換行 git config --global core.autocrlf false # 拒絕提交包含混合換行符的文件 git config --global core.safecrlf true # 允許提交包含混合換行符的文件 git config --global core.safecrlf false # 提交包含混合換行符的文件時給出警告 git config --global core.safecrlf warn # 配置子模塊訪問URL git config submodule.DbConnector.url <私有URL> # 將子模塊更新配置為日志,之后git diff可以直接看到 git config --global diff.submodule log # 啟用Sparse Checkout模式 git config core.sparsecheckout true # 配置自動gc git config --global gc.auto 0 git config http.postBuffer git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999 # 解決 Windows Git Bash、Linux 下的中文轉碼問題 git config --global core.quotepath false # 設置大小寫敏感,保持 Mac/Win/Linux一致性;在目錄名大小寫修改時,git可正常提交; git config --global core.ignorecase false # 配置socks5代理 git config --global http.proxy socks5://127.0.0.1:2083 git config --global https.proxy socks5://127.0.0.1:2083 git config --global https.proxy socks5://127.0.0.1:1080 git config --global --unset https.proxy ``` <span style="color:red">3. 配置級別</span> ``` config 配置有system級別 global(用戶級別) 和local(當前倉庫) 查看系統config git config --system --list 查看用戶config git config --global --list 查看本地庫config git config --local --list ``` <span style="color:red">4. git log中文顯示</span> ``` git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-8 set LESSCHARSET=utf-8 ``` <span style="color:red">5. 配置路徑替換,使用git前綴會被自動換成https</span> ``` git config --global url."https://github".insteadOf git://github ``` <br/> # <span style="color:#619BE4">git clone</span> ***** 克隆遠端倉庫 <br/> ### 參數說明 <b style="color:#808080;">url:</b> * 類型:字符串 * 默認值:無 * 描述:遠端倉庫地址 * 可選值:[ ] <b style="color:#808080;">(\-\-recursive):</b> * 類型:字符串 * 默認值:無 * 描述:遞歸克隆子項目 * 可選值:[ ] <b style="color:#808080;">(\-\-branch):</b> * 類型:字符串 * 默認值:無 * 描述:clone指定分支 * 可選值:[ ] <b style="color:#808080;">(\-\-depth=):</b> * 類型:字符串 * 默認值:無 * 描述:clone層級,如果是1則只克隆最新一次提交 * 可選值:[ 1 ] <br/> ### 示例內容 <span style="color:red">1. 克隆帶有子模塊的項目</span> ``` git clone url 路徑 --recursive ``` <span style="color:red">2. 克隆指定分支</span> ``` git clone --branch grizzly-eol https://github.com/openstack/keystone.git git clone --branch [tags標簽] [git地址] ``` <span style="color:red">3. 克隆共享文件夾Git庫</span> ``` git clone \\127.0.0.1\Users\TechService\Desktop\test ``` <br/> # <span style="color:#619BE4">git submodule</span> ***** 子模塊操作 <br/> ### 參數說明 <b style="color:#808080;">add</b> * 類型:字符串 * 默認值:無 * 描述:為當前項目添加子模塊庫 * 可選值:[ ] <b style="color:#808080;">init</b> * 類型:字符串 * 默認值:無 * 描述:初始化子模塊配置 * 可選值:[ ] <b style="color:#808080;">update</b> * 類型:字符串 * 默認值:無 * 描述:更新子模塊內容 * 可選值:[ ] <b style="color:#808080;">foreach</b> * 類型:字符串 * 默認值:無 * 描述:遍歷子模塊執行后面的命令 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 第一次clone項目后初始化子模塊</span> ``` git submodule init git submodule update 或 git submodule update --init --recursive ``` <span style="color:red">2. Git 將會自動進入子模塊然后抓取并更新</span> ``` 控制臺輸入命令:git submodule update --remote DbConnector 控制臺輸入命令:git submodule update --remote 不指定庫,更新所有子模塊 其它方法: 進入子模塊目錄,執行更新 git pull git submodule update ``` <span style="color:red">3. 設置子模塊默認拉取分支</span> ``` git config -f .gitmodules submodule.DbConnector.branch stable ``` <span style="color:red">4. 添加子模塊</span> ``` git submodule add <url> <path> ``` <span style="color:red">5. 刪除子模塊</span> ``` 1. rm -rf 子模塊目錄 刪除子模塊目錄及源碼 2. vi .gitmodules 刪除項目目錄下.gitmodules文件中子模塊相關條目 3. vi .git/config 刪除配置項中子模塊相關條目 4. rm .git/module/* 刪除模塊下的子模塊目錄,每個子模塊對應一個目錄,注意只刪除對應的子模塊目錄即可 執行完成后,再執行添加子模塊命令即可,如果仍然報錯,執行如下: git rm --cached 子模塊名稱 完成刪除后,提交到倉庫即可。 ``` <span style="color:red">6. 推送子模塊</span> ``` 進入子模塊目錄 git checkout master git commit -am "描述內容" git push ``` <span style="color:red">7. 子模塊修改與遠端合并到本地</span> ``` 進入子模塊目錄 git checkout 分支 git submodule update --remote --merge git commit -am '提交子分支更改' 進入主目錄 git submodule update --remote --rebase git push --recurse-submodules=check # 檢查所有子模塊是否已經push --recurse-submodules=on-demand # git會嘗試幫你推送子模塊 ``` <br/> # <span style="color:#619BE4">git init</span> ***** 初始化倉庫 <br/> ### 參數說明 <b style="color:#808080;">str:</b> * 類型:字符串 * 默認值:無 * 描述:初始化倉庫目錄位置,可選 * 可選值:[ ] <b style="color:#808080;">(\-\-bare):</b> * 類型:字符串 * 默認值:無 * 描述:創建沒有工作目錄的版本庫,用于作為服務端 * 可選值:[ ] <br/> # <span style="color:#619BE4">git add</span> ***** 暫存區操作 <br/> ### 參數說明 <b style="color:#808080;">str:</b> * 類型:字符串 * 默認值:無 * 描述:放入暫存區的修改文件 * 可選值:[ .{所有修改文件} ] <b style="color:#808080;">-f:</b> * 類型:字符串 * 默認值:無 * 描述:強制添加忽略掉的文件 * 可選值:[] <br/> # <span style="color:#619BE4">git mv</span> ***** 更換文件位置或者重命名 <br/> ### 參數說明 <b style="color:#808080;">source:</b> * 類型:字符串 * 默認值:無 * 描述:源文件名稱 * 可選值:[ ] <b style="color:#808080;">destination:</b> * 類型:字符串 * 默認值:無 * 描述:改名后的名稱 * 可選值:[ ] <br/> # <span style="color:#619BE4">git rm</span> ***** 刪除版本庫的內容 <br/> ### 參數說明 <b style="color:#808080;">str:</b> * 類型:字符串 * 默認值:無 * 描述:刪除的文件名稱 * 可選值:[ ] <b style="color:#808080;">\-f:</b> * 類型:字符串 * 默認值:無 * 描述:強制刪除,可選 * 可選值:[ ] <b style="color:#808080;">\-n:</b> * 類型:字符串 * 默認值:無 * 描述:實際上不要刪除任何文件,相反,只需顯示它們是否存在于索引中,否則會被命令刪除 * 可選值:[ ] <b style="color:#808080;">\-r:</b> * 類型:字符串 * 默認值:無 * 描述:在給出前導目錄名稱時允許遞歸刪除 * 可選值:[ ] <b style="color:#808080;">(-\-cached):</b> * 類型:字符串 * 默認值:無 * 描述:僅從緩存(暫存)區刪除,可選 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` 僅僅在暫存區刪除內容 git rm --cached readme.txt 在暫存區和工作區同時刪除 git rm readme.txt 清空暫存區內容 rm .git/index ``` <span style="color:red">2. 刪除遠程文件</span> ``` # 預覽將要刪除的文件 git rm -r -n --cached 文件/文件夾名稱 # 確定無誤后刪除文件 git rm -r --cached 文件/文件夾名稱 ``` <br/> # <span style="color:#619BE4">git clean</span> ***** 清除工作區內容 <br/> ### 參數說明 <b style="color:#808080;">\-d:</b> * 類型:字符串 * 默認值:無 * 描述:刪除未提交內容 * 可選值:[ ] <b style="color:#808080;">\-f:</b> * 類型:字符串 * 默認值:無 * 描述:強制操作 * 可選值:[ ] <br/> # <span style="color:#619BE4">git stash</span> ***** 將git版本控制中的內容儲藏起來,方便分支切換 <br/> ### 參數說明 <b style="color:#808080;">list:</b> * 類型:字符串 * 默認值:無 * 描述:查看stash了哪些存儲 * 可選值:[ ] <b style="color:#808080;">show:</b> * 類型:字符串 * 默認值:無 * 描述:顯示做了哪些改動,默認show第一個存儲,如果要顯示其他存貯,后面加stash@{$num} * 可選值:[ ] <b style="color:#808080;">save:</b> * 類型:字符串 * 默認值:無 * 描述:將暫存區的內容臨時存起來 * 可選值:[ ] <b style="color:#808080;">apply:</b> * 類型:字符串 * 默認值:無 * 描述:應用某個存儲,但不會把存儲從存儲列表中刪除 * 可選值:[ ] <b style="color:#808080;">pop:</b> * 類型:字符串 * 默認值:無 * 描述:將緩存堆棧中的對應stash刪除,并將對應修改應用到當前的工作目錄下 * 可選值:[ ] <b style="color:#808080;">drop:</b> * 類型:字符串 * 默認值:無 * 描述:丟棄stash@{$num}存儲,從列表中刪除這個存儲 * 可選值:[ ] <b style="color:#808080;">clear:</b> * 類型:字符串 * 默認值:無 * 描述:刪除所有緩存的stash * 可選值:[ ] <b style="color:#808080;">\-p(\-\-patch):</b> * 類型:字符串 * 默認值:無 * 描述:顯示內容輸出patch格式內容 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` 將暫存區的內容臨時存起來 git stash save "暫存" 顯示第$num個存儲的改動 git stash show stash@{$num} -p ``` <br/> # <span style="color:#619BE4">git cherry-pick</span> ***** 把指定的分支放到當前的提交中 <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` 如挑揀commit id 94d3002的提交到當前分支 git cherry-pick 94d3002 ``` <br/> # <span style="color:#619BE4">git sparse-checkout</span> ***** 初始化和修改稀疏簽出 <br/> ### 參數說明 <b style="color:#808080;">init:</b> * 類型:字符串 * 默認值:無 * 描述:啟用稀疏遷出 * 可選值:[ ] <b style="color:#808080;">disable:</b> * 類型:字符串 * 默認值:無 * 描述:禁用稀疏遷出 * 可選值:[ ] <b style="color:#808080;">list:</b> * 類型:字符串 * 默認值:無 * 描述:查看匹配列表 * 可選值:[ ] <b style="color:#808080;">add:</b> * 類型:字符串 * 默認值:無 * 描述:添加匹配列表 * 可選值:[ ] <b style="color:#808080;">set:</b> * 類型:字符串 * 默認值:無 * 描述:設置匹配列表 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 文件配置方式</span> ``` git init new.project && cd new.project git config core.sparseCheckout true // 添加目錄到checkout的列表 ,也可以使用文本編輯 echo '/ajax/libs/jquery/*' >> .git/info/sparse-checkout git remote add origin git://github.com/cdnjs/cdnjs.git git pull origin master ``` <br/> # <span style="color:#619BE4">git format-patch</span> ***** 生成patch文件 <br/> # <span style="color:#619BE4">git apply</span> ***** 查看和修改patch文件 <br/> # <span style="color:#619BE4">git am</span> ***** 應用patch文件 <br/> # <span style="color:#619BE4">git bisect</span> ***** 使用二分法定位出錯誤的commit版本 <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` git bisect start [終點] [起點] git bisect good git bisect bad # 退出查錯,回到最近一次的代碼提交 git bisect reset ``` <br/> # <span style="color:#619BE4">git diff</span> ***** 對比文件版本不同之處 <br/> ### 參數說明 <b style="color:#808080;">(\--cached)</b> * 類型:字符串 * 默認值:無 * 描述:查看與緩存(暫存)區區別,可選 * 可選值:[ ] <b style="color:#808080;">(\--submodule)</b> * 類型:字符串 * 默認值:無 * 描述:查看子模塊 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` git diff 27d76d0 417dc0c ``` <br/> # <span style="color:#619BE4">git grep</span> ***** 檢索文件中的文本內容 <br/> # <span style="color:#619BE4">git reflog</span> ***** 查看操作過的日志 <br/> # <span style="color:#619BE4">git log</span> ***** 日志系統 <br/> ### 參數說明 <b style="color:#808080;">-p</b> * 類型:字符串 * 默認值:無 * 描述:按補丁格式顯示每個更新之間的差異 * 可選值:[ ] <b style="color:#808080;">(\--oneline)</b> * 類型:字符串 * 默認值:無 * 描述:顯示簡潔版日志,可選 * 可選值:[ ] <b style="color:#808080;">(\--graph)</b> * 類型:字符串 * 默認值:無 * 描述:可視化分支,可選 * 可選值:[ ] <b style="color:#808080;">(\--reverse)</b> * 類型:字符串 * 默認值:無 * 描述:逆向顯示所有日志,可選 * 可選值:[ ] <b style="color:#808080;">(\--no-merges)</b> * 類型:字符串 * 默認值:無 * 描述:隱藏合并提交 * 可選值:[ ] <b style="color:#808080;">(\--pretty)</b> * 類型:字符串 * 默認值:無 * 描述:美化輸出內容 * 可選值:[ format:\<string> | tformat:\<string> ] <b style="color:#808080;">(\--format)</b> * 類型:字符串 * 默認值:無 * 描述:美化輸出內容 * 可選值:[ ] <b style="color:#808080;">(\--stat)</b> * 類型:字符串 * 默認值:無 * 描述:Generate a diffstat * 可選值:[ ] <b style="color:#808080;">(\--numstat)</b> * 類型:字符串 * 默認值:無 * 描述:以十進制表示法和不帶縮寫的路徑名顯示添加和刪除的行數,使其更便于機器使用 * 可選值:[ ] <b style="color:#808080;">(\--author)</b> * 類型:字符串 * 默認值:無 * 描述:查看指定用戶提交的日志,可選 * 可選值:[ ] <b style="color:#808080;">(\--since)</b> * 類型:字符串 * 默認值:無 * 描述:指定日期范圍,可選 * 可選值:[ ] <b style="color:#808080;">(\--before)</b> * 類型:字符串 * 默認值:無 * 描述:指定日期范圍,可選 * 可選值:[ {3.weeks.ago} ] <b style="color:#808080;">(\--until)</b> * 類型:字符串 * 默認值:無 * 描述:指定日期范圍,可選 * 可選值:[ ] <b style="color:#808080;">(\--after)</b> * 類型:字符串 * 默認值:無 * 描述:指定日期范圍,可選 * 可選值:[ {2010-04-18} ] <b style="color:#808080;">-[n]</b> * 類型:字符串 * 默認值:無 * 描述:n代表查看的行數,可選 * 可選值:[ ] <br/> # <span style="color:#619BE4">git show</span> ***** 查看指定的tag的版本信息,包含節點ID,可用于回退 <br/> # <span style="color:#619BE4">git status</span> ***** 查看倉庫的狀態,緩沖區 <br/> ### 參數說明 <b style="color:#808080;">-s</b> * 類型:字符串 * 默認值:無 * 描述:使用精簡模式顯示,可選 * 可選值:[ ] <b style="color:#808080;">(\-\-ignored)</b> * 類型:字符串 * 默認值:無 * 描述:顯示被忽略的文件 * 可選值:[ ] <br/> # <span style="color:#619BE4">git update-index</span> ***** 將工作樹中的文件內容注冊到索引 <br/> ### 參數說明 <b style="color:#808080;">(\-\-assume-unchanged) :</b> * 類型:字符串 * 默認值:無 * 描述:忽略已經是追蹤狀態的文件,但是無法將這個忽略狀態提交至遠程倉庫,只對當前本地工程有效 * 可選值:[ ] <b style="color:#808080;">(\-\-no-assume-unchanged) :</b> * 類型:字符串 * 默認值:無 * 描述:取消忽略 * 可選值:[ ] <b style="color:#808080;">(\-\-skip-worktree) :</b> * 類型:字符串 * 默認值:無 * 描述: 假裝它的工作目錄版本是最新的并且讀取索引版本 * 可選值:[ ] <b style="color:#808080;">(\-\-no-skip-worktree) :</b> * 類型:字符串 * 默認值:無 * 描述:取消跳過 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` # 查看忽略了哪些文件 git ls-files -v | grep '^h ' git ls-files -v | grep '^h ' | awk '{print $2}' # 查看被skip-worktree 的文件列表 git ls-files -v | grep '^S ' ``` <br/> # <span style="color:#619BE4">git ls-files</span> ***** 查看暫存區文件信息 <br/> ### 參數說明 <b style="color:#808080;">-s(\-\-stage)</b> * 類型:字符串 * 默認值:無 * 描述:顯示mode以及文件對應的Blob對象,進而我們可以獲取暫存區中對應文件里面的內容 * 可選值:[ ] <b style="color:#808080;">-c(\-\-cached)</b> * 類型:字符串 * 默認值:無 * 描述:查看暫存區中文件 * 可選值:[ ] <b style="color:#808080;">-m(\-\-midified)</b> * 類型:字符串 * 默認值:無 * 描述:查看修改的文件 * 可選值:[ ] <b style="color:#808080;">-d(\-\-delete)</b> * 類型:字符串 * 默認值:無 * 描述:查看刪除過的文件 * 可選值:[ ] <b style="color:#808080;">-o(\-\-other)</b> * 類型:字符串 * 默認值:無 * 描述:查看沒有被git跟蹤的文件 * 可選值:[ ] <br/> # <span style="color:#619BE4">git cat-file</span> ***** 提供資源庫對象的內容或類型和大小信息 <br/> ### 參數說明 <b style="color:#808080;">-t</b> * 類型:字符串 * 默認值:無 * 描述:可以查看object的類型 * 可選值:[ ] <b style="color:#808080;">-p</b> * 類型:字符串 * 默認值:無 * 描述:可以查看object儲存的具體內容 * 可選值:[ ] <br/> # <span style="color:#619BE4">git check-ignore</span> ***** 查看文件是否被忽略 <br/> ### 參數說明 <b style="color:#808080;">\-v</b> * 類型:字符串 * 默認值:無 * 描述:顯示詳細信息說明 * 可選值:[ ] <br/> # <span style="color:#619BE4">git branch</span> ***** 查看所有分支 <br/> ### 參數說明 <b style="color:#808080;">str</b> * 類型:字符串 * 默認值:無 * 描述:創建名稱為指定內容的分支 * 可選值:[ ] <b style="color:#808080;">\-d</b> * 類型:字符串 * 默認值:無 * 描述:刪除名稱為指定內容的分支 * 可選值:[ ] <b style="color:#808080;">\-m</b> * 類型:字符串 * 默認值:無 * 描述:重命名本地分支 * 可選值:[ ] <b style="color:#808080;">\-a</b> * 類型:字符串 * 默認值:無 * 描述:查看所有分支,包含所有分支 * 可選值:[ ] <b style="color:#808080;">\-r</b> * 類型:字符串 * 默認值:無 * 描述:查看遠程分支 * 可選值:[ ] <b style="color:#808080;">\-vv</b> * 類型:字符串 * 默認值:無 * 描述:詳細顯示,查看關聯情況 * 可選值:[ ] <b style="color:#808080;">(--set-upstream-to=)</b> * 類型:字符串 * 默認值:無 * 描述:指定關聯遠程分支 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 設置遠程分支與本地分支關聯</span> ``` git branch --set-upstream-to=origin/<branch> master ``` <span style="color:red">2. 重命名分支并提交</span> ``` 重命名 git branch -m oldBranchName newBranchName 刪除遠程分支:git push origin :oldBranchName 將重命名過的分支提交:git push origin newBranchName ``` <br/> # <span style="color:#619BE4">git switch</span> ***** 切換分支 <br/> # <span style="color:#619BE4">git checkout</span> ***** 切換分支 <br/> ### 參數說明 <b style="color:#808080;">hash</b> * 類型:字符串 * 默認值:無 * 描述:從某個特定版本檢出文件 * 可選值:[ ] <b style="color:#808080;">str</b> * 類型:字符串 * 默認值:無 * 描述:指定要切換的分支名稱 * 可選值:[ ] <b style="color:#808080;">\-b</b> * 類型:字符串 * 默認值:無 * 描述:創建并切換,如果關聯遠程分支,并切換使用git checkout -b 1.3 origin/release-1.3 * 可選值:[ ] <b style="color:#808080;">\-f</b> * 類型:字符串 * 默認值:無 * 描述:強制切換,會刪除之前未提交文件 * 可選值:[ ] <b style="color:#808080;">\(--orphan)</b> * 類型:字符串 * 默認值:無 * 描述:創建的分支沒有任何的提交歷史,但是當前分支的內容一一俱全。 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1.根據遠程分支開辟新的本地分支【拉取遠程分支到本地】</span> ``` 控制臺輸入命令:git checkout -b 本地分支名 origin/serverfix ``` <span style="color:red">2.拉取暫存區文件到工作區</span> ``` -- 類似轉義符 例如有個文件和master同名,想要指定檢索出該文件需要加 -- 控制臺輸入命令: git checkout -- <file> ``` <span style="color:red">3.切換tag</span> ``` 跟分支一樣,可以直接切換到某個tag去。這個時候不位于任何分支, 處于游離狀態,可以考慮基于這個tag創建一個分支。 控制臺輸入命令: git checkout [tag] ``` <span style="color:red">4. 檢出服務器端代碼</span> ``` git checkout -f ``` <br/> # <span style="color:#619BE4">git commit</span> ***** 版本庫提交 <br/> ### 參數說明 <b style="color:#808080;">\-m</b> * 類型:字符串 * 默認值:無 * 描述:描述本次提交 * 可選值:[ ] <b style="color:#808080;">\-a</b> * 類型:字符串 * 默認值:無 * 描述:自動執行git add . * 可選值:[ ] <b style="color:#808080;">(\-\-no-verify)</b> * 類型:字符串 * 默認值:無 * 描述:跳過驗證鉤子 * 可選值:[ ] <b style="color:#808080;">(\-\-amend)</b> * 類型:字符串 * 默認值:無 * 描述:撤銷上一次提交 并將暫存區文件重新提交 * 可選值:[ ] <b style="color:#808080;">(\-\-fixup)</b> * 類型:字符串 * 默認值:無 * 描述:提交歷史中創建一個新的提交,該提交被標記為對之前某個特定提交的修復 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 提交規范</span> ``` <type>: <subject> type 用于說明 commit 的類別 * build:主要目的是修改項目構建系統(例如 glup,webpack,rollup 的配置等)的提交 * ci:主要目的是修改項目繼續集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交 * docs:文檔更新 * feat:新增功能 * fix:bug 修復 * test:增加測試 * perf:性能優化 * refactor:重構代碼(既沒有新增功能,也沒有修復 bug) * style:不影響程序邏輯的代碼修改(修改空白字符,補全缺失的分號等) * test:新增測試用例或是更新現有測試 * revert:回滾某個更早之前的提交 * chore:不屬于以上類型的其他類型(日常事務) ``` <br/> # <span style="color:#619BE4">git merge</span> ***** 合并分支 <br/> ### 參數說明 <b style="color:#808080;">str</b> * 類型:字符串 * 默認值:無 * 描述:將指定分支合并到當前分支 * 可選值:[ ] <b style="color:#808080;">(\-\-commit)</b> * 類型:字符串 * 默認值:無 * 描述:合并后產生一個合并結果的commit節點 * 可選值:[ ] <b style="color:#808080;">(\-\-no-commit)</b> * 類型:字符串 * 默認值:無 * 描述:為了防止合并失敗并不自動提交 * 可選值:[ ] <b style="color:#808080;">(\-\-ff)</b> * 類型:字符串 * 默認值:無 * 描述:當使用fast-forward模式進行合并時,將不會創造一個新的commit節點。默認情況下,git-merge采用fast-forward模式 * 可選值:[ ] <b style="color:#808080;">(\-\-squash)</b> * 類型:字符串 * 默認值:無 * 描述:頂部節點將會壓縮合并在一起,默認不提交,該參數和--no-ff沖突 * 可選值:[ ] <b style="color:#808080;">(\-\-log=)</b> * 類型:字符串 * 默認值:無 * 描述:除了含有分支名以外,還將含有最多n個被合并commit節點的日志 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 將遠程分支內容合并到當前分支</span> ``` 控制臺輸入命令:git merge origin/serverfix ``` <span style="color:red">2. 合并dev分支到當前分支</span> ``` git merge dev ``` <br/> # <span style="color:#619BE4">git rebase</span> ***** 融合分支不會產生新節點,merge會產生新節點 <br/> ### 參數說明 <b style="color:#808080;">-i</b> * 類型:字符串 * 默認值:無 * 描述:讓用戶編輯要重設基礎的提交列表 * 可選值:[ ] <b style="color:#808080;">(\-\-continue)</b> * 類型:字符串 * 默認值:無 * 描述:發生沖突(conflict)解決后繼續執行 * 可選值:[ ] <b style="color:#808080;">(\-\-abort)</b> * 類型:字符串 * 默認值:無 * 描述:發生沖突終止執行 * 可選值:[ ] <b style="color:#808080;">(\-\-onto)</b> * 類型:字符串 * 默認值:無 * 描述:rebase onto given branch instead of upstream * 可選值:[ ] <b style="color:#808080;">(\-\-autosquash)</b> * 類型:字符串 * 默認值:無 * 描述:自動將commit fixup提交的記錄融合 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 融合前三條提交</span> ``` git rebase -i git rebase -i HEAD~3 ``` <br/> # <span style="color:#619BE4">git reset</span> ***** 撤銷操作,撤銷之后的節點會消失 <br/> ### 參數說明 <b style="color:#808080;">(\--soft)</b> * 類型:字符串 * 默認值:無 * 描述:僅僅只是撤銷已提交的版本庫,不會修改暫存區和工作區 * 可選值:[ HEAD{代表當前版本} ] <b style="color:#808080;">(\--mixed)</b> * 類型:字符串 * 默認值:無 * 描述:僅僅只是撤銷已提交的版本庫和暫存區,不會修改工作區 * 可選值:[ HEAD{代表當前版本} ] <b style="color:#808080;">(\--hard)</b> * 類型:字符串 * 默認值:無 * 描述:僅僅只是撤銷已提交的版本庫和暫存區,不會修改工作區 * 可選值:[ HEAD{代表當前版本} ] <b style="color:#808080;">path</b> * 類型:字符串 * 默認值:無 * 描述:指定具體文件或文件夾 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1.版本回退</span> ``` # 查看當前所在版本,并恢復未提交內容 # 服務器端必須運行命令:[ git reset --hard ]才能看到push后的顯示內容。 git reset --hard HEAD # 回退到某個版本上面 git reset --hard 版本號 ``` <span style="color:red">2. 回退到指定tag</span> ``` # 查看所有tag,并找到要回退的版本號 控制臺輸入命令:git tag # 獲取版本號,使用git reset --hard 版本號回退 控制臺輸入命令:git show [tag號] ``` <span style="color:red">3. 回退到上一個版本</span> ``` windows換行符是^,注意用雙引號把HEAD^括起來,Linux下可以不用 控制臺輸入命令:git reset HEAD^ # 回退到上一個版本 ``` <span style="color:red">4. 拉取版本庫的文件到暫存區該操作不影響工作區</span> ``` 控制臺輸入命令:git reset HEAD <file>點代表所有 ``` <span style="color:red">5. 撤銷操作</span> ``` # 清除未提交的工作區文件 git clean -d -f # ======================================== # 恢復工作區 git restore . or git checkout . # ======================================== # 撤銷暫存區 git restore --staged . or git reset . # 撤銷暫存區->恢復工作區 git checkout HEAD . # ======================================== # 撤銷本地倉庫 git reset --soft HEAD~1 # 撤銷本地倉庫->撤銷暫存區 git reset HEAD~1 or git reset --mixed HEAD~1 # 撤銷本地倉庫->撤銷暫存區->恢復工作區 git reset --hard HEAD~1 or git revert HEAD ``` <iframe src="//player.bilibili.com/player.html?aid=559048463&bvid=BV1ne4y1S7S9&cid=861329934&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="width:100%;max-width:1100px;aspect-ratio: 1100/620;margin-top:20px;margin-bottom:20px;"></iframe> <br/> # <span style="color:#619BE4">git revert</span> ***** 撤銷操作,文件恢復到某個時間節點,并且在[ 最新節點后 ]產生新節點工作 <br/> ### 參數說明 <b style="color:#808080;">-n</b> * 類型:字符串 * 默認值:無 * 描述:不自動提交 * 可選值:[ ] <br/> # <span style="color:#619BE4">git restore</span> ***** 恢復一切modified的狀態 <br/> ### 參數說明 <b style="color:#808080;">(\--staged)</b> * 類型:字符串 * 默認值:無 * 描述:表示撤銷暫存區的修改,將文件狀態恢復到未 add 之前 * 可選值:[ ] <b style="color:#808080;">(\--worktree)</b> * 類型:字符串 * 默認值:無 * 描述:撤銷工作區的修改 * 可選值:[ ] <b style="color:#808080;">(\-s)</b> * 類型:字符串 * 默認值:無 * 描述:切換到指定版本 * 可選值:[ HEAD~1(上個版本) ] <br/> # <span style="color:#619BE4">git tag</span> ***** 管理遠程release版本 <br/> ### 參數說明 <b style="color:#808080;">\-l :</b> * 類型:字符串 * 默認值:無 * 描述:匹配特定標簽 * 可選值:[ ] <b style="color:#808080;">\-d :</b> * 類型:字符串 * 默認值:無 * 描述:刪除本地tag * 可選值:[ ] <b style="color:#808080;">\-a :</b> * 類型:字符串 * 默認值:無 * 描述:添加tag * 可選值:[ ] <b style="color:#808080;">\-m :</b> * 類型:字符串 * 默認值:無 * 描述:對于tag的描述 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 舉例說明</span> ``` 創建本地tag git tag -a v3.0.0 -m "描述" ``` <span style="color:red">2. 給指定版本打標簽</span> ``` git tag -a v1.2 9fceb02 -m "my tag" ``` <br/> # <span style="color:#619BE4">git fetch</span> ***** 更新 remote 索引 <br/> ### 參數說明 <b style="color:#808080;">str:</b> * 類型:字符串 * 默認值:無 * 描述:指定遠程主機 * 可選值:[ ] <b style="color:#808080;">(\-\-unshallow):</b> * 類型:字符串 * 默認值:無 * 描述:獲取所有內容,不淺層獲取 * 可選值:[ ] <b style="color:#808080;">(\-\-prune):</b> * 類型:字符串 * 默認值:無 * 描述:在獲取之前,刪除遠程上不再存在的任何遠程跟蹤引用 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1.獲取索引概念圖</span> ![git獲取索引](https://img.kancloud.cn/5a/4f/5a4f26c04ec857ff4f6260591ba71251_500x419.png) <br/> # <span style="color:#619BE4">git pull</span> ***** 拉取遠程倉庫版本到本地 <br/> ### 參數說明 <b style="color:#808080;">(\-\-rebase)</b> * 類型:字符串 * 默認值:無 * 描述:采用rebase而不是merge方法拉取 * 可選值:[ ] <b style="color:#808080;">(\--allow-unrelated-histories)</b> * 類型:字符串 * 默認值:無 * 描述:允許無關的歷史記錄 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 拉取遠程分支到本地</span> ``` 控制臺輸入命令:git pull origin master ``` <br/> # <span style="color:#619BE4">git push</span> ***** 推送到遠程倉庫 <br/> ### 參數說明 <b style="color:#808080;">\-u\(--set-upstream)</b> * 類型:字符串 * 默認值:無 * 描述:如果當前分支與多個主機存在追蹤關系,那么這個時候\-u選項會指定一個默認主機 * 可選值:[ ] <b style="color:#808080;">\-f\(--force)</b> * 類型:字符串 * 默認值:無 * 描述:強制回退遠程倉庫到當前版本,之前所有版本消失 * 可選值:[ ] <b style="color:#808080;">(--force-with-lease)</b> * 類型:字符串 * 默認值:無 * 描述:更安全地進行強制推送 * 可選值:[ ] <b style="color:#808080;">\(--follow-tags)</b> * 類型:字符串 * 默認值:無 * 描述:帶著標簽一起同步 * 可選值:[ ] <b style="color:#808080;">\(--delete)</b> * 類型:字符串 * 默認值:無 * 描述:刪除遠程分支 * 可選值:[ ] <b style="color:#808080;">\-q\(--quiet)</b> * 類型:字符串 * 默認值:無 * 描述:不進行任何輸出 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1. 指定默認推送的主機</span> ``` 控制臺輸入命令:git push -u origin master git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:${P_BRANCH} token推送,輸入密碼時候密碼輸入token值 ``` <span style="color:red">2. 向遠程主機推送本地指定分支到遠程指定分支</span> ``` 控制臺輸入命令:git push 遠程主機 本地分支:遠程分支 ``` <span style="color:red">3. 刪除遠程分支</span> ``` 控制臺輸入命令:git push origin :serverfix 注意空格,想當于把空傳給了遠程分支 或者 git push origin --delete Chapater6 ``` <span style="color:red">4. 刪除遠程tag</span> ``` 控制臺輸入命令:git push origin --delete tag v1.1 或者 git push origin :refs/tags/<tagName> ``` <span style="color:red">5. 上傳tag</span> ``` 控制臺輸入命令:git push origin v3.0.0 ``` <span style="color:red">6. 推送所有tag</span> ``` 控制臺輸入命令:git push origin --tags ``` <span style="color:red">7. 清空遠程分支所有提交記錄</span> ``` git branch --orphan null git branch -d old git branch -m old git push -f origin old ``` <br/> # <span style="color:#619BE4">git remote</span> ***** 遠程倉庫操作 <br/> ### 參數說明 <b style="color:#808080;">\-v</b> * 類型:字符串 * 默認值:無 * 描述:顯示簡潔版日志,可選 * 可選值:[ ] <br/> ### 示例內容 <span style="color:red">1.關聯遠程倉庫</span> ``` 控制臺輸入命令:git remote add origin https://github.com/SystemLight/Test.git ``` <span style="color:red">2.刪除遠程倉庫關聯</span> ``` 控制臺輸入命令:git remote rm origin ``` <span style="color:red">3.列出詳細信息</span> ``` 控制臺輸入命令:git remote -v 可以查看具體http地址 ``` <span style="color:red">4.列出已經存在的遠程分支</span> ``` 控制臺輸入命令:git remote ``` <span style="color:red">5. 更新遠程分支列表</span> ``` 控制臺輸入命令:git remote update origin --prune ``` <span style="color:red">6. 修改遠程倉庫關聯地址</span> ``` 控制臺輸入命令:git remote set-url origin [url] 或者 git remote rm origin git remote add origin [url] # 增加一條origin上游地址 git remote set-url --add origin https://gitee.com/Bwar/Nebula.git ``` <span style="color:red">7. 指定上游地址并拉取內容</span> ``` // upstream為自定義名稱一般叫origin git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git git fetch upstream ``` <br/> # <span style="color:#619BE4">git gc</span> ***** 徹底刪除不必要內容文件 <br/>
                  <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>

                              哎呀哎呀视频在线观看