首页 > 其他分享 >GIT

GIT

时间:2022-09-27 19:13:20浏览次数:48  
标签:git -- merge GIT master branch 分支

### 疑问
#### 关于 stash 和 cherry-pick

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场`git stash`一下,然后去修复bug,修复后,再`git stash pop`,回到工作现场;

在master分支上修复的bug,想要合并到当前dev分支,可以用`git cherry-pick <commit>`命令,把bug提交的修改“复制”到当前分支,避免重复劳动。


#### 树形查看

```
git log --graph --pretty=oneline --abbrev-commit
```

#### 回退
`git reset --hard commit_id`
上一个`HEAD^`,上上一个版本就是`HEAD^^`,当然往上100个版本写100个`^`比较容易数不过来,所以写成`HEAD~100`

查看命令历史,回到未来版本 `git reflog`


#### 分支

合并某分支到当前分支:`git merge <name>`

删除分支:`git branch -d <name>`

创建+切换分支:`git checkout -b <name>`或者`git switch -c <name>`

 


#### merge

branch a aaa (old)
branch master mmm (new)


branch new merge old
old have old
new have new

in master merge a
- a: aaa
- master: mmm


branch old merge new
总结:
`fast forward`合并看不出来曾经做过合并。
`--no-ff`参数,合并后的历史有分支,能看出来曾经做过合并

1、normal (Fast forward)
in a merge master
- a: mmm
- master: mmm

2、recursive strategy (保留)
```
git merge --no-ff -m "merge with no-ff" dev
```

--no-ff`参数,表示禁用`Fast forward`模式

```
$ git log --graph --pretty=oneline --abbrev-commit
* e1e9c68 (HEAD -> master) merge with no-ff
|\
| * f52c633 (dev) add merge
|/
* cf810e4 conflict fixed
```


开发一个新feature,最好新建一个分支;

如果要丢弃一个没有被合并过的分支,可以通过`git branch -D <name>`强行删除。


rebase
- rebase操作可以把本地未push的分叉提交历史整理成直线;

- rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比

标签:git,--,merge,GIT,master,branch,分支
From: https://www.cnblogs.com/YOLOZZL/p/16735604.html

相关文章

  • 【测试技术】git常用命令
    一、版本库常用命令初始化某目录为git项目。(默认为master分支)gitinit从远程clone一个项目 gitclone<http://abc.com/scm/abc/def.git>查看当前分支状态git......
  • TortoiseGit MergeTool 文件比对工具替换为 DiffMerge
    2022-9-2717:41:59星期二TortoiseGit自带的合并/比对工具实在是不好用,就找了几个可以替换的工具:这里选择了DiffMerge ,官网中跟第三方工具合作的配置说明在这里......
  • Git 修改历史提交记录
    gitrebase-i 列出commit列表#本地仓库没push到远程仓库的commit信息$gitrebase-i#最近5条$gitrebase-iHEAD~5#最近5条$gitrebase-iHEAD~5#列......
  • 多分类logit回归案例分析
    在研究X对Y的影响时,因变量Y有时是分类变量,这时如果还想分析影响关系可以使用logit回归,常见的logit回归包括,二元logit回归(二项logit回归)、多分类logit回归以及有序logit回......
  • git 基本使用
    ​ 第一次安装git的时候要执行1-4步,否则从第5步开始安装git工具,安装完成之后鼠标右键只要出现 gitbashhere 菜单即说明安装成功。windows系统下载链接MAC下载链......
  • 有序logit回归案例分析
    我们经常会遇到因变量有多个取值而且有大小顺序的情况,如幸福感,开心程度等,这时,一般的线性回归分析无法准确地刻画变量之间的因果关系,需要用其他的回归分析方法来进行拟合模......
  • git 查看某一行代码的修改历史
    查看某行代码谁写的:gitblamefile_namegitblame-L58,100file_name#58~100行代码其输出格式为:commit_ID|代码提交作者|提交时间|代码位于文件中的行数......
  • idea 中 git 提交 配置 过滤类型
    *.hprof;*.iml;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;._1xml;.build.properties;.classpath;.git;.gitignore;.hg;.idea;.project;.settings;.svn;CVS;META-INF;__pycach......
  • git如何将远程仓库代码拉下覆盖本地仓库
    git将远程仓库代码拉下覆盖本地仓库记录,在最近代码学习过程中,自己手动改了一下代码,但是忘记修改了哪些,现在想恢复到和远程仓库代码一致。使用如下三条命令搞定:1.gitfet......
  • git 查看代码是谁提交的
    目录git查看代码是谁提交的用idea查看git查看代码是谁提交的有很多种方法,比如登陆gitlab查看,或者在本地查看等用idea查看当我们拉取代码后,本地代码或者脚本无法定位......