为了能到远方,脚下的每一步都不能少.|

Mr·Shi

园龄:14年4个月粉丝:0关注:2

Git常用操作

Git

撤销提交

有时候会出先写错备注的情况,还没push的情况下可以直接撤销的,选择Reset HEAD
img

Shift+F6输入^即可撤销一次,多个那就多次
img

如果不小心合并错了代码,就撤销(报错提示会有id)
-m 1 表示保留当前分支的更改
-m 2 表示保留master更改

git revert -m 1 xxxxxxxx

合并分支

合并shijiangtao分支到dev分支:

  1. 切换到dev分支
  2. 拉取dev分支最新代码(pull)
  3. 将shijiangtao分支代码合并到dev分支
    img

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 分支
1111(第一次commit
2222(第二次commit
3333(第三次commit
A 分支只合并 B 分支第三次 commit的记录,会把前面的修改也合并过来,合并结果如下
// B.txt A 分支
1111
2222
3333
我设想的是 A 只出现第三次提交的内容 但是不是 B 分支之前的内容全都有
第二种情况
比较符合预期,在没有对某个文件多次修改commit的情况下,只会合并对应的 commit 记录

本文作者:Mr·Shi

本文链接:https://www.cnblogs.com/shijiangtao/p/17124598.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Mr·Shi  阅读(51)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起