首页 > 其他分享 >git command 工作中常用命令备忘录

git command 工作中常用命令备忘录

时间:2024-08-16 15:20:14浏览次数:10  
标签:git 仓库 rebase xxx feature command 常用命令 commit

模拟目前工作流程

  1. 在gitlab fork 需要开发的项目到自己仓库
  2. 分配一个工作任务(feature、improvment、bug)
  3. 本地从个人仓库克隆项目 git clone http://mylocal/group/project
  4. 本地添加对于远端项目 git remote add upstream http://dev.xxx.io/group/project
  5. 基于远端仓库切出本地开发分支 git checkout -b feature_xxx upstream/feature_xxx
  6. 本地 coding 改代码,commit N次(其中也包含 push 远端仓库N次需要给QA同学测试使用过程中发现新的问题又需要反复重复这个过程)
  7. QA验收通过准备合并回主分支,需要进行 rebase 将多次commit压缩成一个(rebase翻译成变基我是懵逼的,个人认为压缩更好)
    7.1 本地 git checkout -b feature_xx origin/feature_xxx (注意这里的 origin 远端分支是个人仓库,因为每次的PR提交都是从个人仓库向远端仓库提交)
    7.2 本地 git rebase -i upstream/feature_xxx (此时会进入编辑模式开发分支的所有commit都会展示出来除了第一个其他全部将 pick改为 s)
    7.3 本地解决冲突文件,解决完成 git add .
    7.4 继续解决 git rebase --continue (重复上一个和这一个步骤直到所有冲突解决完成)
  8. git push feature_xx origin/feature_xx
  9. 基于个人仓库的 feature_xx 提交一个MR到公司仓库的对应分支

rebase 的好处:因为rebase 都发生在个人仓库,并且一个新功能或BUG修复往往很难一步到位,同时你要提交你得代码后QA同学才能打包测试。所以往往都伴随N个Commit,此时如果是几十人在主分支同时参与工作,可能你的一个错误提交就影响了其他所有人从主分支拉取的最新代码。此时rebase 压缩N个commit的 PR 就非常好 revert掉来解决这个问题。让其他人不受影响

其它命令
git feature upstream 拉取远端最新变化
git rebase -i commitId 压缩从指定commitId开始到现在的commit
git rebase --abort 中止压缩
git stash 暂存本地变化
git stash apply 还原暂存的变化(默认第一个)
git stash drop 删除暂存 (默认第一个)
git commit --amend 修正commit的说明内容(commit中存在错别字时非常好用)

标签:git,仓库,rebase,xxx,feature,command,常用命令,commit
From: https://www.cnblogs.com/linma/p/18362895

相关文章

  • [Windows批处理]比对Git两个分支之间的差异,把有改动的文件复制到指定目录
    保存为git-diff-copy.bat@echooffREM[Windows批处理]比对Git两个分支之间的差异,把有改动的文件复制到指定目录setlocalenabledelayedexpansionREM1:设置被复制的git项目文件夹(尾部要加"\")setcopy_from=..\vue-vben-admin\REM2:设置复制的目标文件夹setcopy_to=%~dp0......
  • 利用 Cloudflare workers 反代 github
    反代Github似乎会被认定为欺诈,严重的会封禁域名,不建议尝试首先绑定你的域名到cloudflare,然后创建一个Worker后写入以下代码并添加自定义域名//反代目标网站.constupstream='github.com';//反代目标网站的移动版.constupstream_mobile='github.com';//访问......
  • 如何在 Git 中取消文件的跟踪
    如何在Git中取消文件的跟踪在使用Git进行版本控制时,文件可能最初被跟踪,但随着项目的发展,有时需要取消对这些文件的跟踪。本文介绍如何在不同情况下取消文件或目录的Git跟踪。1.取消对已经被Git跟踪的文件的跟踪如果某个文件已经添加到Git并被提交,但现在不希望Git......
  • 把廉价香橙派利用到极致,跑自建 Gitea 和 Hexo 服务
    这篇文章在我的博客同步发布:把廉价香橙派利用到极致,跑自建Gitea和Hexo服务书接上回code-server搭建。code-server因为是原生服务,再加上这枚H618芯片性能相当可以,内存和CPU占用都很小,但是耗电却紧压电源适配器的15W极限,剩余的性能……浪费了?这怎么行?!经过苦思冥想,......
  • Git零基础入门与常见命令介绍
    Git 是一个开源的分布式版本控制系统,用于高效地处理任何大小的项目。它由LinusTorvalds为了帮助管理Linux内核开发而开发的开放源码软件。与常用的版本控制工具(如CVS、Subversion)不同,Git采用了分布式版本库的方式,不需要服务器端软件支持。目录1.安装Git2.基本命令介绍2......
  • github 博客
    https://chirpy.cotes.page/posts/getting-started/#option-2-github-forksudoapt-getinstallruby-fullbuild-essentialzlib1g-devecho'#InstallRubyGemsto~/gems'>>~/.zshrcecho'exportGEM_HOME="\(HOME/gems"'>......
  • Linux 的常用命令
    1.改变目录cd目录的表达方法:/根目录.当前目录..上一级目录~家目录cd/进入到系统根目录cd.进入当前目录cd..进入当前目录的父目录,返回上层目录cd/tmp进入指定目录/tmpcd~进入当前用户的家目录cd进入当前用户的家目录cd-回到刚才所在的目录2.......
  • Ubuntu中编译使用ANTs(医学图像配准)含github无法访问问题解决
    目录第一步、修改hosts文件1.打开https://github.com.ipaddress.com/ 2.打开https://fastly.net.ipaddress.com/github.global.ssl.fastly.net#ipinfo3.打开hosts文件,并在文件末尾添加如下内容 第二步、编译ANTs1)首先安装git、cmake以及c++编译器2)编译3)配置bin目录,......
  • idea中Git提交小技巧
    在idea往Git提交代码时,所有的文件变更条目信息都聚集在一起,这些文件变更,有些是本次要提交的,有些是这次暂不提交的,还有些是不能往Git提交的比如一些本地才用的配置变更,每次提交前都得对每一个文件变更条目进行仔细检查,稍有不注意就会导致误提交变更到远端Git。针对这个问题,我们......
  • git一些问题汇总
    普通文件夹成为git项目并和网上关联1、先在网上建立一个仓库,获得地址2、gitinit3、gitadd.4、gitcommit-m'firstcommit'5、gitremoteaddorigin复制的远程代码仓库地址6、gitpull--rebaseoriginmaster获取远程库与本地同步合并(如果远程库不为空必须做这一步,......