Git


Git笔记

语雀版本 https://www.yuque.com/feifeishuaifu/xuwmux/qcu1z4

分支

新建分支

  1. git pull origin master ,在master分支下,保证当前代码与线上同步,是最新的
    a. master 是以前 Github 上的默认主分支,现在已经更换为 main
  2. git branch <分支名>,新建分支。
  3. git checkout <分支名>,切换 到新建的分支上,再进行下一步。
  4. git push origin <分支名> ,把本地分支推到远端,让远端也有一个你的分支,用来后面提交你的代码。
  5. 新建分支并切换到该分支:git checkout -b <分支名>

删除分支

  1. 删除本地分支 ( 切换到master分支之后再删除 ) git branch -d <分支名>
  2. 删除远端分支 git push origin --delete <分支名>

合并分支

如果你基于主分支master新建了分支dev,再基于dev分支新建了一个分支test,在test分支开发完成后,需要将test合并到dev分支上。此时,先用git branch 查看自己在哪个分支上,然后git checkout dev(切换到需要合并的分支上),最后git merge test(在dev分支上执行这句,意思是将test合并到dev分支上)

分支命名

  1. master 分支
    a. 主分支,也是用于部署生产环境的分支,所有提供给用户使用的正式版本,都在这个主分支上发布。为确保 master 分支稳定性, master 分支一般由 develop 以及 hotfix 分支合并,任何时间都不能直接修改代码。
  2. develop 分支
    a. 开发分支,始终保持最新完成以及 bug 修复后的代码,一般开发的新功能时,feature 分支都是基于 develop 分支下创建的。
    b. 如果想正式对外发布,就在 master 分支上,对 develop 分支进行”合并”(merge)。
  3. feature 分支
    a. 开发新功能时,以 develop 为基础创建 feature 分支
    b. 分支命名: feature/ 开头的为特性分支
  4. release 分支
    a. 预上线分支,发布提测阶段,会 release 分支代码为基准提测。当有一组 feature 开发完成,首先会合并到 develop 分支,进入提测时会创建 release 分支。
    b. 如果测试过程中若存在 bug 需要修复,则直接由开发者在 release 分支修复并提交。当测试完成之后,合并 release 分支到 master 和 develop 分支,此时 master 为最新代码,用作上线。
    release
  5. hotfix 分支
    a. 分支命名: hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。线上出现紧急问题时,需要及时修复,以 master 分支为基线,创建 hotfix 分支,修复完成后,需要合并到 master 分支和 develop 分支。
    hotfix

提交代码

  1. git status 查看改变的文件
  2. git add . 添加到缓存区
  3. git commit -m ‘本次提交的描述’
    a. Commit messages格式要求
    ⅰ. 标题:50个字符以内,描述主要变更内容
    ⅱ. 主体内容:更详细的说明文本,建议72个字符以内。需要描述的信息包括:
    1. 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
    2. 他如何解决这个问题? 具体描述解决问题的步骤
    3. 是否存在副作用、风险?
      ⅲ. 如果需要的话可以添加一个链接到issue地址或者其它文档
  4. git push origin <分支名> push是从本地向远端推代码,也就是把自己写的代码提交上去
    a. 执行完上一步,有可能报错,此时淡定,不认识英语的话在线翻译是干嘛的,大多数时候提示你,本地落后于远端,(意思就是远端比本地多了一些代码,为什么会出现这种情况呢,肯定是你跟别人共用一个分支,他提交了一段代码到远端,所以导致你的本地落后于远端)既然落后了,那就把他更新成最新的
    push
    b. 本地和远程改了同一段代码,手动改掉冲突,留下一个再进行提交
    pull
  5. git pull --rebase origin <远程分支名>,如:git pull —rebase origin master
  6. 先解决冲突,然后执行 git add .
  7. 解决完冲突之后 git rebase —continue
  8. 此时再提交你的代码 git push origin <分支名>
  9. 此时若显示,当前分支落后于master分支,则需要强推,git push -f origin <分支名>,若不报错,则rebase成功。

日志

  1. git log --oneline
    log
  2. git log --graph 查看分支图

撤回操作

撤销 git add

  1. git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
  2. git reset HEAD XXX/XXX/XXX.js 就是对某个文件进行撤销了

撤销 git commit -m '本次修改说明'

  1. git reset --soft HEAD^这样就成功的撤销了你的commit。注意,仅仅是撤回commit操作,写的代码仍然保留。
    a. HEAD^的意思是上一个版本,也可以写成HEAD~1
    b. 如果进行了2次commit,想都撤回,可以使用HEAD~2
  2. 参数:
    a. –mixed意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,这个为默认参数,git reset --mixed HEAD^git reset HEAD^ 效果是一样的。
    b. –soft 不删除工作空间改动代码,撤销commit,不撤销git add .
    c. -hard 删除工作空间改动代码,撤销commit,撤销git add .,注意完成这个操作后,就恢复到了上一次的commit状态。
    d. 如果commit注释写错了,只是想改一下注释,只需要git commit --amend,此时会进入默认vim编辑器,修改注释完毕后保存就好了。

修改别名

git config --global alias.co checkout
将创建一个git别名来执行此操作。它会将以下条目添加到全局~/.gitconfig文件中:

[alisa]
  co = checkout

文章作者: 飞飞帅傅
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 飞飞帅傅 !
 上一篇
Linux Linux
Linux报错笔记
2022-10-25
下一篇 
Hello World Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hex
2022-06-22 飞飞帅傅
  目录