GIT基础使用命令

基本命令

初始化仓库

git init

修改工作区提交到暂存区stage

git add .

提交暂存区到仓库(版本库)

git commit -m "msg"

撤销操作(新旧版本git有差异)

旧版本

  • 没有git add时,用git checkout -- file

  • 已经git add时,先git reset HEAD <file>回退到1.,再按1.操作

  • 已经git commit时,用git reset回退版本

新版本

  • 文件只在工作区操作,未add**。撤销操作:git restore 。结果:工作区文件回退

  • 文件已add,未commit。撤销操作:git restore --staged 。结果:暂存区文件回退,工作区文件未回退,如需继续回退,操按情况1操作。

  • 文件已add,已commit。撤销操作:git reset --hard commit_id。结果:工作区文件、暂存区文件、本地仓库都回退

查看提交操作日志

git log
git log --pretty=oneline    简化日志

查看文件状态

git status

查看工作区和版本库里面最新版本的区别

git diff HEAD -- readme.txt

删除文件(本质是修改文件,同rm删文件后git add)

git rm <file>

克隆远程库到本地

git clone <url>

本地已有库关联远程库

git remote add origin <url>

推送远程库

git push <-u> origin master   -u参数推送且关联分支,方便后续操作

查看远程库信息

git remote -v

删除远程库的绑定

git remote rm <name>     name一般为origin

创建分支

git branch <branchName>

创建并切换分支(旧)

git checkout -b <branchName>

创建并切换分支(新)

git switch -c <branchName>

查看当前分支

git branch

合并指定分支到当前分支

git merge <指定分支名>

删除分支

git branch -d <分支名>

合并分支且禁用Fast forward模式

本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

git merge --no-ff -m "merge with no-ff" <指定分支名>

开发分支管理原则

master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活,干活都在dev分支上,dev分支是不稳定的,到比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

Bug分支

当前dev分支工作未完成提交且需处理Bug时,把当前工作现场“储藏”起来,等以后恢复现场后继续工作:此时工作区为clean的

git stash

查看stash存放的工作现场

git stash list

要恢复工作现场dev,可用以下指令

git stash apply        恢复
git stash drop         删除stash内容
git stash pop          恢复的同时把stash内容也删了

多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash

git stash apply stash@{0}

在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

设立本地分支与远程分支的链接

git branch --set-upstream-to <branch-name> origin/<branch-name>

拉取远程库

git pull <remote> <branch>

优化Git的提交历史(变基)

 git rebase

rebase操作可以把本地未push的分叉提交历史整理成直线;rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比;

创建标签(标记版本)

git tag <name>       例:git tag v1.0
git log --pretty=oneline --abbrev-commit  找到历史版本的commit_id
git tag <name> <commit id>  

创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a v0.1 -m "version 0.1 released" 1094adb

查看标签

git tag

查看标签信息

git show <tagname>

删除标签

git tag -d <name>  本地

从远程删除:先本地后远程:
git push origin :refs/tags/v0.9

推送标签到远程

git push origin <tagname>

一次性推送全部尚未推送到远程的本地标签:
git push origin --tags

签信息

git show <tagname>

删除标签

git tag -d <name>  本地

从远程删除:先本地后远程:
git push origin :refs/tags/v0.9

推送标签到远程

git push origin <tagname>

一次性推送全部尚未推送到远程的本地标签:
git push origin --tags
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YYLAJSX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值