Git常用操作指令

1 常用

命令说明
git init把指向的目录变成Git可以管理的仓库
git add readme.txt把readme.txt加入仓库
git commit -m “wrote a readme file”把文件提交到仓库并进行说明
git status查看仓库状态是否被修改
git diff readme.txt查看readme.txt修改详情
git log查看提交日志
git log --pretty=oneline简洁查看提交日志
git reset --hard HEAD^退回到上一个版本,HEAD^^上两个版本,HEAD-100上100个版本
git reset --hard 1094a回到版本号前面为1094a的文件版本
git reflog记录每一次命令(可以查看版本号)
git diff HEAD -- readme.txt提交文件后,查看工作区和版本库中有什么不同
git checkout -- readme.txt把readme.txt文件从版本库替换工作区版本,可以用作把工作区的修改全部撤销,恢复工作区误删文件,但是只能恢复到最新一次修改后的文件,会丢失修改提交内容
git reset HEAD readme.txt把readme.txt文件暂存区的修改撤销,重新放回工作区,HEAD表示最新版本
git rm test.txt从版本库删test.txt, 之后可git commit -m "remove test.txt"提交删除报告

2 Github

命令说明
ssh-keygen -t rsa -C "youremail@example.com"创建SSH Key, 实例改为自己的邮箱
git remote add origin git@github.com:yourself/learngit.git把本地learngit仓库关联yourself的learngit仓库
git push -u origin master把本地库的master分支内容推送到远程仓库。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令git push origin master
git clone git@github.com:michaelliao/gitskills.git从远程库克隆

3 分支管理

3.1 基本

命令说明
git branch dev创建dev分支
git checkout dev切换到dev分支
git checkout -b dev创建dev分支,并切换到dev分支,-b表示创建并切换相当于git branch dev创建分支 +git checkout dev切换分支
git branch列出所有分支,当前分支前面有*号
git merge dev把指定dev分支合并到当前所在分支, Fast forward(快速合并)
git branch -d dev删除dev分支
git branch -D dev强行删除dev分支,在分支未合并的时候可以强行删除
vi readme.txt编辑readme.txt,删除分支冲突
git log --graph --pretty=oneline --abbrev-commit查看分支合并情况
git merge --no-ff -m "merge with no-ff" dev–no-ff 参数,表示禁用Fast forward,-m添加合并描述,把dev分支合并到当前分支

分支策略在实际开发中,我们应该按照几个基本原则进行分支管理:

  1. master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活
  2. 干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本
  3. 多人协作时候每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

3.2 工作区操作

命令说明
git stash储存当前工作区到stash
git stash list查看被储存的stash内容
git stash pop把stash内容恢复到工作区并删除stash区
git stash applystash内容恢复到工作区,但不删除stash区
git stash drop删除stash区

3.3 多人协作

命令说明
git remote查看远程库信息
git remote -v显示更详细的远程库信息
git push origin dev推送dev分支到远程库
git checkout -b dev origin/dev创建远程origin的dev分支到本地并切换至dev分支
git pull把最新提交抓取下来
git branch --set-upstream branch-name origin/branch-name创建本地分支与远程分支的联系

3.4 Rebase整理

命令说明
git rebase将分叉提交变成一条直线

4 标签管理

先切换到需要打标签的分支上

命令说明
git tag v1.0给最新的commit打上v1.0的标签
git tag查看所有的标签
git tag v0.9 f52c633给指定的f52c633 commit打上标签
git show v0.9查看v0.9标签的详情
git tag -a v0.1 -m "version 0.1 released" 1094adb给指定v0.1标签添加说明文字,1094adb为版本号
git tag -d v0.1删除v0.1标签,因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除
git push origin v1.0推送指定v1.0标签到远程
git push origin --tags推送全部标签到远程
git push origin :refs/tags/v0.9删除远程到标签v0.9

注意⚠️:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。


⚠️系个人整理, 如有不正确或者待完善的地方请留言提出…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值