1. 获取所有的分支
git branch
指针指向的是当前项目的分支
3. 切换分支
git checkout task2
这里报错了!因为我们main分支的代码已经修改了!但是我们并没有做保存这次修改
的工作,如果我们切换了分支(task2)出去,然后再切换回到分支(main)的话,那么我们在main上的代码修改是没有保存的!
所以我们需要将main分支保存的代码 进行一次 commit 或是把这些修改 put 到栈上。
这里我们演示第二种也就是stash
git stash save "xxxx"
后面的 save 跟着自己的注释,git 就会把这次的修改全推到堆栈中,然后还原最初的模样
git stash list
然后这里就可以看到堆栈中所有stash的内容了
然后我们就可以成功切换到 task2 分支上了!
当我们完成了 task2 中的东西之后,再切换到 main 分支继续完成我们的操作。
这里说两个操作
git stash apply stash@{1}
这是应用某个stash,而不删除
git stash pop
应用最新的stash,并且删除
3. 删除远程分支,并且不删除自己本地目录分支。
git rm -r --cached dirname
git push origin --delete branch_name
删除本地分支
git branch -d branch_name;
强制删除
git branch -D branch_name
4. push and pull
将本地分支推到远程分支,如果远程分支没有,就会新建
git push origin localhost_branch:remote_branch
将远程分支拉取到本地对应的分支
git pull origin remote_branch localhost_branch
5. 版本回退
找到要回退的版本的commit id
git reflog
直接回退到对应版本
git reflog git reset --hrad commit id