Git操作指令

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:所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值