研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)

简介: 研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)

git基本组成框架:Workspace、Index / Stage、Repository、Remote


Workspace:开发者工作区

Index / Stage:暂存区/缓存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

cfac71a2f66748a8868140afc22e6c34.png

4864c716066942a7b3c602e1b665b525.pnggit删除分支

删除远程分支:

git push origin --delete [branch_name]

删除本地分支:

git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。

git branch -D 是git branch --delete --force的简写,它会直接删除。

查看远程分支:

git branch -r

查看本地分支:

git branch

查看全部:

git branch -a


将多次提交合并成一次提交再请求合并

查看历史提交记录:git log

里面有提交每次的版本号,以及当时提交对应的注释。


rebase用法链接

作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴

合并提交

git rebase begin end 前开后闭区间

git rebase -i HEAD~3

然后对于三个版本号 进行修改前面的指令类型。


pick:保留该commit(缩写:p)

reword:保留该commit,但我需要修改该commit的注释(缩写:r)

edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)

squash:将该commit和前一个commit合并(缩写:s)

fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)

exec:执行shell命令(缩写:x)

drop:我要丢弃该commit(缩写:d)


然后跳转到注释修改界面。

将一段commit粘贴到另一个分支

1b8c5a55fdea4bf19db13839e3cd62c7.png

ff5ca794f31445889fd8b59619da71ef.png

      git  rebase   90bc0045b^   5de0da9f2   --onto master
      git checkout master
      git reset --hard  0c72e64


回滚代码仓库:

git reset 不加参数 重置后取消暂存区的变更

git reset 加三种参数 加id

(–soft 将头指针恢复? 已经add的暂存区以及工作区的所有东西都不变

–mixed将头恢复?已经add的暂存区也会丢失,工作区的代码不变

–hard一切恢复,头变,add的暂存区消失,代码都恢复到之前状态)

git reset --hard HEAD^ 是迭代当前仓库的上一个版本

git reset --hard HEAD~3回滚前三个版本

(git 合并提交 合并多了 解决办法:

git reset --hard 版本号)

git add . 与 git add -all一样 但是前一个命令不会记录删除操作。

比如本地删除一个文件,提交的时候会记录删除操作,提交仓库时会删除同样的文件。


git保存当前工作状态切换分支:git stash

stash这个保存是以栈的方式保存的,先进后出。


将文件撤销回到最近一次修改的状态:git checkout – file

git里的各种撤销


查看git配置文件

ls -ah查看隐藏目录 .git


相关文章
|
2月前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
25 0
|
19天前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
27 1
|
1月前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
24 2
|
25天前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
49 0
|
25天前
|
开发工具 数据中心 git
详解IDEA git 版本回滚
详解IDEA git 版本回滚
29 0
|
2月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
2月前
|
程序员 Linux 开发工具
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
|
2月前
|
存储 安全 Linux
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
|
1月前
|
开发工具 git
git切换到另一分支更改也会随之过去
git切换到另一分支更改也会随之过去
22 1
|
1月前
|
开发工具 git
git将一个远程分支的部分修改提交到另一个远程分支
git将一个远程分支的部分修改提交到另一个远程分支
13 1