Git操作指令-后续慢慢添加
分支相关指令
查看本地所有分支
git branch
查看本地所有分支以及对应的远程分支
git branch -vv
查看本机以及远程所有分支
git branch -a
新建本地分支
git branch <branch>
切换分支
git checkout <branch>
新建分支并切换分支
git checkout -b <branch>
为当前分支绑定远程分支
git branch --set-upstream-to=<origin>/<branch>
删除分支
git branch -d <branch>
强行删除分支
git branch -D <branch>
提交代码至仓库
查看当前分支状态
git status
查看file的修改之处
git diff <file>
撤销file的修改,回到和版本库一模一样的状态,仅支持未提交至暂存区的文件
git checkout -- <file>
新增内容至暂存区
git add <something>
把暂存区something的add操作回退
git reset HEAD <something>
把暂存区修改提交至本地仓库
git commit -m "explain"
commit日志
查看当前HEAD的提交日志
git log
查看格式美化成一行显示的当前HEAD提交日志
git log --pretty=oneline
把提交日志重新变成一条线,仅仅只是使用 git log 时好看些
git rebase
查看所有命令历史
git reflog
查看分支合并图
git log --graph
版本回退
回退到上一个版本,两个^符号代表上上个版本,如git reset --hard HEAD^^
git reset --hard HEAD^
回退到指定commit_id版本
git reset --hard <commit_id>
解决冲突
有冲突如何解决:
0.git pull
拉取最新代码
1.通过git status
可以查看冲突文件
2.打开冲突文件,修改冲突内容
3.执行add,commit指令再提交
合并分支
当前分支合并branch
git merge <branch>
当前分支合并branch,删除branch后也不会丢失branch分支信息(建议使用这种)
git merge --no-ff -m "explain" <branch>
临时保存工作状态
临时有其他任务,但是现在的工作还未做完怎么办?那就保存现在的状态就好了,分三步进行:
第一步:
git stash
储存当前工作现场
第二步:
切换至需要临时工作的branch,正常完成工作后,正常提交代码
第三步:
回到现在需工作的branch,然后
git stash list
查看stash列表
这时有两种方案获取stash内容:
方案1:git stash apply
恢复(可指定stash,如git stash apply stash@{0}
),不过stash不会被删除,需git stash drop
来删除
方案2:git stash pop
恢复的同时,删除stash
commit共享
当在master分支上修复了一个bug,同时也需要在dev分支上修复同一个bug,嫌麻烦怎么办?
切换至dev分支,执行git cherry-pick <commit_id>
指令,相当于在dev分支上再次提交此commit_id
远程库操作
查看远程库的信息
git remote
查看详细远程库的信息
git remote -v
拉取远程代码,如果做了远程分支绑定,可直接git pull
git pull <origin> <branch>
推送至远程仓库
git push <origin> <branch>
删除远程分支,切换至非分支,最好master分支,执行如下指令,删除远程分支后,本地分支并未被删除,如果需删除,需要再删除本地分支
git push origin --delete <branch>
标签指令
新建一个标签,不输入commit_id,表示使用当前HEAD
git tag <tagName> <commit_id>
新建一个标签,并配上说明,不输入commit_id,表示使用当前HEAD
git tag -a <tagName> -m "explain" <commit_id>
查看所有标签
git tag
查看标签详细信息
git show <tagName>
删除本地标签
git tag -d <tagName>
推送标签至远程
git push <origin> <tagName>
一次性推送所有尚未推送到远程的本地标签
git push <origin> --tags
删除远程标签,需先删除本地标签,再执行如下指令
git push origin :refs/tags/v0.9
git选项解释
-d
–delete:删除
-D
–delete --force的快捷键
-f
–force:强制
-m
–move:移动或重命名
-M
–move --force的快捷键
-r
–remote:远程
-a
–all:所有