首页 > 其他分享 >Git常用操作

Git常用操作

时间:2023-02-15 20:55:05浏览次数:44  
标签:常用 Git num stash git commit 堆栈 操作 分支

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://[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

相关文章

  • git push 到 github: Connection reset by 140.82.112.3 port 22
    现象github.com可以直接访问ping能连接https方式正常ssh方式出错分析或许是ssh端口问题使用http连接✔切换连接gitremote-v查看远程仓库gitremoteset-......
  • vue基本操作
    1js的几种循环方式1.1v-for可以循环的变量<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js/vu......
  • Vue的基础操作
    目录Vue的基础操作js的几种循环方式v-for可以循环的变量js的循环方式key值的解释数组,对象的检测与更新input事件v-model双向数据绑定过滤事件事件修饰符(了解)按键修饰符单......
  • Java常用类的一些基础API的使用
    数字相关类、日期时间API、系统相关类、数组工具类及自然排序和定制排序的介绍Author:MsuenbDate:2023-02-15数字相关类Math类java.lang.Math类包含用于执行基......
  • Unreal 蓝图Compile常用API
    用途在蓝图中点击Compile的时候,想做一些事,比如,想自定义逻辑检验当前蓝图逻辑甚至子蓝图是否有异常数据,如果有则返回Compile失败。点击Compile的时候,想自定义一些逻辑,比......
  • GITBHU 和 git 使用教程笔记
           git教学视频:40分钟学会Git|日常开发全程大放送&搭配Github_哔哩哔哩_bilibili......
  • 记录常用的几个函数
    1、useMemoizedFn作用:记住某个函数,并且保证函数地址永远不会改变,可代替useCallback;constfoo=useMemoizedFn(()=>{console.log('test')});2、forwardRef作用:会创......
  • Git命令行大全
    Git安装下载安装包后,直接下一步下一步就行。过程:略......Git全局设置gitconfig--globaluser.name"Chris"gitconfig--globaluser.email"[email protected]"创建......
  • 部署canal同步mysql-binlog到kafka具体操作
    准备[mysqld]log-bin=mysql-bin#开启binlogbinlog-format=ROW#选择ROW模式授权canal链接MySQL账号具有作为MySQLslave的权限CREATEUSERcanalIDENTI......
  • Git入门
    Git入门一、Git概述Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git易于学习,占地面积小,性能极快。它具有廉价的本地库,方......