前端常用的git工作流 git完整使用流程

前端所有的git使用場景和命令都在這里啦,持續更新~~~

安裝 git

要檢查是否安裝了Git,在cmd終端運行:

$ git version
git version 2.27.0.rc1.windows.1

配置 git

我們只需要配置一些東西

git config --global user.name "前端xx"           # 你的名字
git config --global user.email  xx@qq.com     # 你的郵箱

name和email對應上就設置好了
提交到github 電腦git要登github賬號; 提交到gitlab 電腦git要登gitlab賬號

自己上傳新項目代碼到倉庫

git創建倉庫,并提交代碼(第一次創建并提交)

git init     //把這個目錄變成Git可以管理的倉庫
git add README.md   // 文件添加到倉庫
// 不但可以跟單一文件,還可以跟通配符,更可以跟目錄。
git add .       // 一個點就把當前目錄下所有未追蹤的文件全部add了 
git commit -m "first commit"    //把文件提交到倉庫
git remote add origin url.git       // 關聯遠程倉庫       https方式
// 例如:git remote add origin git@github.xxx/practice.git
git push -u origin master       //把本地庫的所有內容推送到遠程庫上


第一次提交本地倉庫到遠程,使用密鑰SSH的方式

在git倉庫-個人中心的密鑰設置中,填入自己電腦的密鑰

git init
git add .    // 全部文件提交到暫存區,后續改動可以追蹤文件的變化
git commit -m "first commit"   // 提交到本地倉庫
git remote add origin SSH地址         // 關聯遠程倉庫       SSH方式
git push -u origin master  // 將本地庫推送到遠程

從倉庫克隆新項目代碼到本地

git  clone  github.xxx/practice.git


git clone代碼之后 遠程分支有很多,怎么把遠程分支弄下來

git fetch
git checkout -b feature origin/feature     // 把feature弄下來  本地feature對應遠程feature


遠程別人新建了分支,本地怎么切換分支

git fetch
git checkout -b feature origin/feature

從遠程倉庫中拉一個本地不存在的分支:
git checkout -b 本地分支名 origin/遠程分支名
該命令會創建一個本地分支并,并與遠程分支關聯,并自動切換到這個本地分支。


別人新建的分支,你看不到,想要拉到本地來

別人新建了分支branch2   

git branch -a   // 查看所有分支:本地分支和遠程分支
git fetch origin branch2   //  把遠程的branch2抓下來  這個抓下來只是能看到分支
git branch -a   //   此時就能看到branch2   
git checkout -b branch2 origin/branch2   // 把遠程的branch2代碼搞下來
相關的還有以下命令

1. 刷新遠程分支的命令行:git remote update origin -p 

2. 抓取遠程分支,需要切換:git fetch origin branch_name

3. 本地分支與遠程分支相關聯,便于git pull, git push ,  
使用 git branch --set-upstream-to=origin/<branch>


關于分支

查看遠程分支: git branch -a
查看本地分支:git  branch
創建分支:git  branch  <name>         // <name>是分支名
切換分支:git  checkout  <name>
創建+切換分支:git  checkout  -b  <name>
合并某分支到當前分支:git  merge  <name>      // 把其他分支合并到master后,還要git push
刪除本地分支:git  branch  -d  <name>



image.png

新建分支, 你創建一個新分支并提交

git branch -a  // 查看所有分支:本地分支和遠程分支
git branch 新分支
git checkout 新分支   // 切換到新分支上
git branch -a  // 查看新分支是否建成功
git push --set-upstream origin  新分支    // 把新分支提交到代碼庫 別人也能看見


你創建一個新分支,指定推送到遠程某分支

git branch -b  task         //  新建task分支 并切換到task分支
// ......代碼開發完成后,此時我在task分支
// 依舊要先git add .  和 git commit -m "這里寫提交的是什么內容"
git push origin  task    // 將所在的分支指定推送到task
git push origin  major    // 將所在的分支指定推送到major 

// .......又做了一些開發
git push origin  task    // 將所在的分支指定推送到task
// 這樣每次提交都要把分支帶上   因為本地的task沒又和遠程的task關聯上

 git branch --set-upstream-to=origin/<taskBranch>  // 將本地分支與taskBranch關聯上
// 關聯后就可以直接git push了

// 推薦第一次提交新創建的分支,用 git push --set-upstream origin  新分支 這種方式,第一次就關聯上了

刪除分支

刪除本地分支  git branch -d dev
刪除遠程分支 git push origin --delete branch,    該指令也會刪除追蹤分支


修改分支名字

  1. 本地分支重命名(還沒有推送到遠程)
git branch -m oldName newName
  1. 遠程分支重命名 (已經推送遠程-假設本地分支和遠程對應分支名稱相同)
第1步: 重命名遠程分支對應的本地分支
git branch -m oldName newName

第2步:刪除遠程分支
git push --delete origin oldName

第3步:上傳新命名的本地分支
git push origin newName

第4步:把修改后的本地分支與遠程分支關聯 
git branch --set-upstream-to origin/newName


合并分支

git  merge  <name>    // 合并某分支到當前分支 
git push   // 把合并后的內容整個分支一起提交
 //  例如: 把其他分支合并到master后,還要git push


關于撤銷操作

git add的撤銷:git reset
git commit的撤銷:git commit --amend  撤銷提交到本地版本庫
git push的撤銷: git reset --soft HEAD~1
git merge取消合并: git merge --abort


git 合并未提交,撤銷合并:
git reset --hard HEAD~1


git 合并已提交,撤銷合并:
    git reset --soft:
          將分支回退到指定提交,工作區維持現狀不變,暫存區會在現有基礎上增加該commit之后的提交。

    git reset --mixed: 
         (默認操作)將分支回退到指定提交,暫存區也被同步為該指定提交,工作區保持不變。

    git reset --hard: 
          將分支回退到指定分支,暫存區和工作區都會被同步為該指定的提交。


git提交前報eslint錯誤 提交忽略eslint

git commit --no-verify -m "提交時的注釋"


追加修改到最后一次commit

適用對最后一次提交失誤的地方進行修改,提交后而不產生新的commit記錄

追加修改到最后一次commit
第一步:修改文件 然后git add指定的文件 (注意對文件只需要add不需要commit)
第二步:git commit --amend
第三步:輸入 r
第四步:輸入 :wq  回車
第五步:推送到遠程: git push --force


修改上一次提交的備注信息

第一步:git commit --amend
第二步:輸入 e
第三步:修改提交的備注信息
第四步:按esc鍵
第五步:輸入 :wq  回車
第六步:推送到遠程: git push --force


git 合并遠程倉庫上多個提交記錄

  • 將最后兩次提交記錄去掉,最后兩次的提交內容歸到倒數第三次提交上
第一步:git reset --soft HEAD~2   
第二步:git commit --amend
第三步:按esc鍵
第四步:輸入 :q  回車
第五步:推送到遠程: git push --force
  • 將最后兩次提交記錄,歸結到一次新的提交記錄上
第一步:git reset --soft HEAD~2   
第二步:git commit -m "這次提交包含了之前最后兩次的內容"
第三步:推送到遠程: git push --force


vscode裝的好用的git插件:

git graph
git history
git lens

電腦配置多個git賬號

控制面板\所有控制面板項\憑據管理器


持續更新中.....


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容