git基本组成框架:Workspace、Index / Stage、Repository、Remote
Workspace:开发者工作区
Index / Stage:暂存区/缓存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
git删除分支
删除远程分支:
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粘贴到另一个分支
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