博文

目前显示的是 四月, 2020的博文

git笔记

git reset命令三部曲(--soft, --mixed, --hard,只有mixed选项才可以有reset路径,就是可以跟文件名,比如git reset --mixed commithash filename, 如果reset命令带有文件名,那么就会跳过第一步,也就是不会移动HEAD指针了): git reset --soft     commithash  只会移动HEAD指针,并且是HEAD带着分支指针一起移动,不动暂存区和工作目录 git reset [--mixed] commithash  移动HEAD指针,并且是HEAD带着分支指针一起移动,重置暂存区 git reset --hard   commithash  移动HEAD指针, 并且是HEAD带着分支指针一起移动,重置暂存区,重置工作目录 git checkout branchname和git reset --hard commithash的区别: 两者都移动HEAD指针,reset命令中HEAD还会带着分支指针一起移动 两者都会重置暂存区 两者都会重置工作目录 但是,checkou对工作目录是安全的,reset --hard会重置工作目录的 切换分支之前最好保证当前分支是干净的(刚做了提交),或者是git stash保存现场,然后再去切换分支。 git commit --amend 类似于git reset --soft    commithash git reset HEAD file  表示撤销file刚刚做的暂存,类似于git reset [--mixed] HEAD file git checkout branch_name  表示切换到branch_name分支,切换分支时HEAD指针会指向branch_name分支的最后的提交对象。 git checkout branch_name commithash  版本穿梭 git checkout -- filename 表示撤销filename文件所作的修改。这个类似于git reset --hard   commithash  filename...