Git常用操作
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://git@gitlab.zbomc.com: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 记录
本文作者:Mr·Shi
本文链接:https://www.cnblogs.com/shijiangtao/p/17124598.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步