1.git init 后 master分支commit之后才能切换到其他分支。
2. 后缀含义
-d --delete:删除
-D --delete --force的快捷键
-f --force:强制
-m --move:移动或重命名
-M --move --force的快捷键
-r --remote:远程
-a --all:所有
3.本地分支同步到远程分支上
单个:git push origin dev
所有:
git push --all 本地所以分支同步到远程主机
4.删除远程分支
方法一: git push origin :dev
方法二:git push origin -d dev
5.本地同步远程的分支
方法一:git checkout -b dev origin/dev
方法二:git fetch origin 远程分支名x:本地分支名x
6.git reflog 查看每次执行的命令 使用git reset --hard '命令版本号'回退
7.git reset --hard "xxxx" 将版本彻底回退到某个版本
git reset --hard HEAD^ 将版本彻底回退到上一个版本版本
8.修改回退
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交。使用版本回退的方法(PS:没有推送到远程库)
9.合并分支
get merge
10.分支管理 stash
正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能。
git stash list:显示保存进度的列表。也就意味着,git stash命令可以多次执行。 git stash pop [–index] [stash_id]:git默认会把工作区和暂存区的改动都恢复到工作区 git stash drop [stash_id]:删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。 git stash clear:删除所有存储的进度
11. 创建标签
首先我们需要切换到需要打标签的分支,然后使用git tag <name>就可以打一个标签了。
git tag -a <tagname> -m ’msg’:创建带有说明的标签
git tag :查看所有的标签
git show <tagname>:查看标签信息
git push origin <tagname>:推送本地标签到远程仓库
git push origin –tags:可以推送全部未推送过的本地标签
git tag -d <tagname> :可以删除一个本地标签
git push origin :refs/tags/<tagname>:可以删除一个远程标签。