Git的常用命令
Git的常用命令
一、分支管理
1、创建分支
git branch <name>
比如:git checkout -b Name
2、查看分支
git branch
3、切换分支
git checkout <name>或者git switch <name>
4、创建+切换分支
1)创建本地分支,然后切换到本地分支
git checkout -b <name> 或者git switch -c <name>
比如:git checkout -b test 该命令相当于两条命令: git branch test 以及 git checkout test
2) 创建本地分支,并将远程分支拉取到本地分支
git checkout -b 本地分支名 远程分支
比如git checkout -b test origin/test
5、删除分支
1)删除本地分支
git branch -D 分支名
2)删除远程分支
git push origin --delete 分支名
6、撤销变化
- 撤销本地所有的修改变化
git chckout .
- 撤销某个文件的变化
git checkout HEAD -- filename
- 撤销commit
git reset --soft HEAD^
7、拉取/推送分支
git fetch origin 分支名命令
git pull origin 分支名
git push -f origin 强推到远端 (使用git reset --hard 就需要强推才能推送到远端)
说明:拉取远端分支并且和本地分支合并
git push origin 分支名
说明:将本地的master分支推送到origin主机的master分支。如果分支不存在,则会被新建
8、合并分支
git cherry pick (--abort)
git merge (--abort)
转移单个或者多个提交:
git cherry-pick <HashA> <HashB>
转移某分支的最新提交:
git cherry-pick 分支名
9、git rebase (变基)
合理使用rebase命令可以使我们的提交历史干净、简洁
使用命令:git rebase -i commitid(提交的哈希值)
说明:
1 pick:保留该commit(缩写:p) 2 reword:保留该commit,但我需要修改该commit的注释(缩写:r) 3 edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e) 4 squash:将该commit和前一个commit合并(缩写:s) 5 fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f) 6 exec:执行shell命令(缩写:x) 7 drop:我要丢弃该commit(缩写:d)
10、回退版本
git revert和git reset的区别
回退到任意版本:git reset --hard commitid
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
查看当前所在分支:git branch
git checkout . && git clean -xdf
git reset HEAD .
11、 贮藏
发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交。这时就可以考虑git stash
stash是本地的,不会通过git push命令上传到git server上
git statch 贮藏本地修改
git stash save "mark"
git stash list
git stash pop
git statsh drop Name
12、git 保存账号密码
git config --global credential.helper store
参考链接:https://www.liaoxuefeng.com/wiki/896043488029600