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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                目的:1.統一團隊的Git工作流 2.統一團隊Git Commit日志標準,可通過日志快速了解改動模塊 作者:高斌 ## 一、Git工作流 * * * ### 1.Git分支創建規范: `dev`為日常開發分支 `preview`為測試版分支 `master`為主分支,禁止直接在此分支進行代碼修改和提交 `feature`新功能開發分支,完成后合并到dev分支進行測試 `fix`線上緊急漏洞修復分支,從master分支拉取創建,修復完bug后合并到dev和master分支(需在dev完成測試后才能合并master分支) `feature`和`fix`分支可在使用后刪除,具體視個人情況而定 ### 2.分支使用規范 日常開發在dev分支上進行 有測試環境時,上線前需要先將代碼合并到preview分支上進行提測,測試無誤后將preview分支合并到master分支進行正式版提交 理論上master分支不能做任何改動,只能合并其他分支。 禁止在master分支上直接修改文件進行提交,很容易與其他分支及團隊成員產生沖突,破壞分支之間的關聯關系 ## 二、Git提交規范 每次提交必須按照規范,寫明本次提交的類型(方便快速了解本次改動內容),并對修改內容做出明確描述 * 提交格式 * 提交類型:1.提交描述 ?2.提交描述2 * 提交類型 * `fix`:問題的修復 * `feat`:有新功能的增加 * `update`:現有功能模塊的代碼改動 * `improve`:優化某個模塊 * `debug`:提交某個功能模塊的調試代碼 * `refactor`:重構某個模塊 ~~~ 示例: (單種修改類型) feat: 1.新增xxx功能 2.新增yyy功能 (多種修改類型) feat + update: 1.新增xxx功能 2.更改xx模塊樣式 ~~~ 示例: 簡明扼要闡述本次改動,達到看提交記錄就能明確了解本次改動的程度。 ![](https://h5cdn.xiaobaoshiguang.com/Markdown/2022-08-26-WHXFRU.png) ## 三、Git Stash貯藏功能 * * * 使用場景:線上有緊急bug要修復,必須切到master分支上創建fix分支進行修復。但是你目前在dev分支功能開發了一半,又不想將開發一半的代碼提交,那么就可以用Git stash 命令把你目前未提交的代碼先貯藏起來,等修好bug,從master分支上切回dev分支之后,再把改動從貯藏中恢復到dev分支,然后繼續開發。 官方文檔:→[鏈接](https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E8%B4%AE%E8%97%8F%E4%B8%8E%E6%B8%85%E7%90%86) ~~~ git stash save "當前存儲的變動描述" : 執行存儲時,添加備注 (執行存儲后,會把改動文件從當前分支中還原) git stash list : 查看stash列表 git stash apply : 應用某個存儲,但不會把存儲從存儲列表中刪除,默認使用第一個存儲,即stash@{0},如果要使用其他個,git stash apply stash@{$num} , 比如第二個:git stash apply stash@{1} git stash pop : 恢復之前緩存的stash,將緩存堆棧中的對應stash刪除,并將對應修改應用到當前的工作目錄下,默認為第一個stash,即stash@{0},如果要應用并刪除其他stash,命令:git stash pop stash@{$num} ,比如應用并刪除第二個:git stash pop stash@{1} git stash drop stash@{$num} : 丟棄stash@{$num}存儲,從列表中刪除這個存儲 git stash clear : 刪除所有緩存的stash ~~~ **Sourtree快捷使用:** 1.點擊頂部貯藏按鈕,在彈出框中輸入此次貯藏內容概要 2.左側會已貯藏列表可以進行貯藏應用或刪除貯藏代碼 ![](https://h5cdn.xiaobaoshiguang.com/Markdown/2022-08-26-ggJCcM.png?imageMogr2/thumbnail/1000) ## 四、Git Tag標簽功能 * * * 基本所有成體系的項目都會在項目發版時進行標簽標記 例如下圖: ![](https://h5cdn.xiaobaoshiguang.com/Markdown/2022-08-26-p7nd8U.png?imageMogr2/auto-orient/thumbnail/1200) * 分支代表的是一條時間軸,匯聚了一系列的提交歷史操作,并可進行回溯,而標簽標記的是一個時間點,標識了一個特定時刻,類似版本庫的一個快照。 * 通過獲取某個標簽的版本,就可以把當時的歷史版本取出來 官方文檔:→[鏈接](https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE) **Sourtree快捷使用:** 1.在對應的commit上右鍵點擊標簽選項,然后輸入標簽的名稱 2.在左側列表將剛創建的標簽推送到遠程倉庫 ![](https://h5cdn.xiaobaoshiguang.com/Markdown/2022-08-26-hvH1AF.png?imageMogr2/thumbnail/1000) ## 五、查看commit合并時間 * * * 在 Git 配置文件 `~/.Gitconfig` 中追加以下別名: ~~~ [alias] find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'" show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'" ~~~ 之后就可以下面這樣使用了: ~~~ # 當前分支 git find-merge <SHA-1> # 指定分支 git find-merge <SHA-1> master ~~~ 示例: ~~~ on master ? git find-merge 0c205019ac75f1fc09a7fdd6079461328abc3137 23:02:37 6cbd92e271de540e98f4157132ba47973e3cb07b(通過這次提交合并進入) on master ? git show-merge 0c205019ac75f1fc09a7fdd6079461328abc3137 23:06:06 commit 6cbd92e271de540e98f4157132ba47973e3cb07b Merge: 9ab0014 e22126f Author: 亮 <liang.huang> Date: Fri Apr 28 21:04:33 2017 +0800 Merge branch '20170413-v4.5.0-share' into '20170428-v5.1.0' 分享頁面、首頁彈屏、banner修改、push和消息頁面跳轉 See merge request !125 ~~~ ## 六、Git常用操作 * * * ### 1.將本地項目添加到遠程倉庫 ~~~ 在本地項目中執行以下命令 git init (初始化git項目,已經初始化過的無需執行) git remote add origin 遠程倉庫地址 git add . (添加項目所有文件) git commit -m '項目初始化' git pull origin master (pull如果報錯可嘗試此命令解決 git pull origin master --allow-unrelated-histories) git push origin master ~~~ ### 2.版本回滾 ~~~ 1.回退到當前版本(放棄所有修改) git reset --hard 2.撤銷某個文件的修改 git checkout demo.js 3.回退到某一版本但保存自該版本起的修改 git reset 版本號 4.回退到和遠程版本一樣 有時候,當發生錯誤修改需要放棄全部修改時,可以以遠程分支作為回退點退回到與遠程分支一樣的位置,執行的命令如下 git reset --hard origin/master // origin代表你遠程倉庫的名字,master代表分支名 5.回退遠程倉庫的版本 先在本地切換到遠程倉庫要回退的分支對應的本地分支,然后本地回退至你需要的版本,然后執行: git push <倉庫名> <分支名> -f 6.本地強制與遠程倉庫同步 git reset --hard origin/分支名 ~~~ ### 3.解決代碼沖突 合并代碼后,因多人修改同一模塊,可能會產生代碼沖突,此時需要手動解決。 ~~~ 示例:以下是沖突代碼提示 <<<<<< HEAD const demo = 111; ====== const demo = 222; >>>>>> 865sdf7612b3u23h4234 說明: <<<<<< HEAD 此區間的代碼指,當前分支下你所改動的代碼 ====== 此區間代表你合并代碼后,他人改動的代碼 >>>>>> 865sdf7612b3u23h4234 需要對比兩個區間的代碼,根據實際情況修改代碼,修改完成后,刪除所有沖突標記。 然后執行以下操作: git add . git commit -m "fix:解決代碼沖突" git push origin 分支名` ~~~ ### 4.查看合并操作記錄 你可以使用以下命令來查看Git分支的合并操作記錄: ~~~ git reflog show <branch-name> ~~~ 這將顯示指定分支的所有合并操作記錄,包括合并后的提交和回滾操作。如果省略`<branch-name>`參數,則將顯示當前分支的所有合并操作記錄m 增加`--oneline`可查看簡易信息. ### 5.查看分支merge記錄 你可以使用以下命令來查看Git分支的合并記錄: ~~~ git log --merges <branch-name> ~~~ 這將顯示指定分支的所有合并記錄,包括其它分支合并到該分支的記錄。如果省略`<branch-name>`參數,則將顯示當前分支的所有合并記錄。 ### 6.切換倉庫遠程地址 ~~~ # 查看當前遠程代碼庫信息 git remote show origin # 可將現有代碼庫切換到其他遠程倉庫 git remote set-url origin 新倉庫地址 ~~~
                  <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>

                              哎呀哎呀视频在线观看