前端常用的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账号

控制面板\所有控制面板项\凭据管理器


持续更新中.....


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容