Git
撤销提交
有时候会出先写错备注的情况,还没push的情况下可以直接撤销的,选择Reset HEAD
Shift+F6输入^即可撤销一次,多个那就多次

如果不小心合并错了代码,就撤销(报错提示会有id)
-m 1 表示保留当前分支的更改
-m 2 表示保留master更改
git revert -m 1 xxxxxxxx
合并分支
合并shijiangtao分支到dev分支:
- 切换到dev分支
- 拉取dev分支最新代码(pull)
- 将shijiangtao分支代码合并到dev分支

VSCode 合并master代码到开发分支
1、提交当前分支 git commit -m
2、切换到master 主分支 git checkout master
3、拉去master 分支到本地 git pull origin master
4、切换到自己的开发分支 git checkout 开发分支
5、合并master 代码到开发分支 git merge master
6、同步本地开发分支到远程开发分支 git push origin 开发分支
命令初始化、提交:
git init
git remote -v
git remote add origin ssh://[email protected]:13222/databus/zbomc.git
git add .
git push -u origin master
git commit -m "add README"
git push -u origin master
保存密码
进入你的项目git目录,输入:
git config credential.helper store
如果是要求全局配置那就
git config --global credential.helper store
这样会在你本地生成一个文本,上边记录你的账号和密码。
使用上述的命令配置好之后,再操作一次git pull操作,它会提示你输入账号密码,这一次之后就不需要再输入密码了。
如果你之前不小心配置了全局的话,切换到你项目所在的目录下
// 删除 store 配置
git config --global --unset credential.helper store
//添加 store 配置
git config credential.helper store
当然配置manager的存储方式也是可以的
//删除 manager配置
git config --global --unset credential.helper manager
//添加manager配置
git config --global credential.helper manager
保存当前未更改
git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复。
git stash 保存当前的工作区与暂存区的状态,把当前的修改的保存到git 栈,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号
git stash save '注释' 作⽤等同于git stash,区别是可以加⼀些注释, 执⾏存储时,添加注释,⽅便查找
git stash save 'test'
git stash pop 默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱
注:该命令将堆栈中最新保存的内容删除
git stash list 查看当前stash的所有内容
git stash apply 将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景
git stash apply stash@{$num}
git stash drop 从堆栈中移除指定的stash
git stash drop stash@{$num}
git stash clear 移除全部的stash
git stash show 查看堆栈中最新保存的stash和当前⽬录的差异,显⽰做了哪些改动,默认show第一个存储
1、git stash
保存当前的工作区与暂存区的状态,把当前的修改的保存到git 栈,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号
2、git stash save '注释'
作⽤等同于git stash,区别是可以加⼀些注释, 执⾏存储时,添加注释,⽅便查找
git stash save 'test'
3、git stash pop
默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱
注:该命令将堆栈中最新保存的内容删除
4、git stash list
查看当前stash的所有内容
5、git stash apply
将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景
使用方法:git stash apply stash@{$num}
6、git stash drop
从堆栈中移除指定的stash
使用方法:git stash drop stash@{$num}
7、git stash clear
移除全部的stash
8、git stash show
查看堆栈中最新保存的stash和当前⽬录的差异,显⽰做了哪些改动,默认show第一个存储
例如现在要将 B 分支的一个 commit 合并到A分支:
1、首先切换到B分支
git checkout B
查看提交日志
2、找出要合并的 commit ID
git log
如:2c2f06d4d03e7e0b246b1c9c66d
3、然后切换到A分支上进行合并、合并到A
git checkout A
git cherry-pick 2c2f06d4d03e7e0b246b1c9c66d
这样就将B分支的某个commit记录合并到了A分支了
注: 说一下自己在使用 cherry-pick时候产生的效果
第一种情况
如果在 B 分支中,对某个文件有多次提交记录
A 分支使用 cherry-pick 进行合并的时候,会把之前对该文件的修改一并合并过来
// B.txt B 分支
1、111(第一次commit)
2、222(第二次commit)
3、333(第三次commit)
A 分支只合并 B 分支第三次 commit的记录,会把前面的修改也合并过来,合并结果如下
// B.txt A 分支
1、111
2、222
3、333
我设想的是 A 只出现第三次提交的内容 但是不是 B 分支之前的内容全都有
第二种情况
比较符合预期,在没有对某个文件多次修改commit的情况下,只会合并对应的 commit 记录
标签:常用,Git,num,stash,git,commit,堆栈,操作,分支
From: https://www.cnblogs.com/shijiangtao/p/17124598.html