git工作中常用的命令

2 篇文章 0 订阅
git init   											#把当前目录变成Git可以管理的仓库
git status 											#可以让我们时刻掌握仓库当前的状态
git diff   											#顾名思义就是查看difference
git reset  											#回退版本
git reset HEAD 文件名					  #可以把暂存区的修改撤销掉(unstage),重新放回工作区
git reflog 											#用来记录你的每一次命令
git restore --staged <文件> 		 #取消暂存
git restore <文件>							 #丢弃工作区的改动
git branch										#创建分支

git switch -c dev							#创建分支(新版git的命令)
git switch master							#切换到已有的分支(新版git的命令)

git branch -d 分支名							#删除分支
git branch -D 分支名							#强制删除分支
git checkout 分支名						#切换分支
git checkout -b 分支名					#创建并切换分支
git checkout -- 文件名					#丢弃工作区的修改,让这个文件回到最近一次git commit或git add时的状态。
git checkout -b dev origin/dev #创建远程origin的dev分支到本地,创建本地dev分支
git rm 												#同时从工作区和索引中删除文件。即本地的文件也被删除了。
git rm --cached 							#从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控
git remote add origin git@server-name:GitHub用户名/仓库名.git # 关联远程仓库
git remote -v									#查看远程库的信息

git merge dev									#将dev分支合并到当前分支默认使用Fast forward模式
git merge --no-ff -m "描述" dev  #将dev分支合并到当前分支禁用 Fast forward模式
# --no-ff 参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
# fast forward 合并就看不出来曾经做过合并。

git log --graph --pretty=oneline --abbrev-commit # 查看分支合并情况

git stash											#可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list								#
git stash apply   						#恢复“储藏”起来的内容,但是恢复后,stash内容并不删除
git stash drop								#删除stash内容
git stash pop									#恢复的同时把stash内容也删了:
git cherry-pick commitId			#让我们能复制一个特定的提交到当前分支

git branch --set-upstream-to=origin/dev dev #指定本地dev分支与远程origin/dev分支的链接

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


git tag v1.0						 #给最新提交的commit打一个标签
git tag v0.9 <commitId>	 #给指定的commit打一个标签
git show <tagname>       #查看标签信息
git tag -a v0.1 -m "version 0.1 released" 1094adb #用-a指定标签名,-m指定说明文字
git tag -d v0.1					 #删除标签
git push origin v1.0		 #推送标签到远程
git push origin --tags	 #推送所有未推送的标签到远程
git push origin :refs/tags/<tagname>  #可以删除一个远程标签。 

git reset

git reset --hard HEAD^	

上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。

git reset --hard 1094a

1094a 代表的是 commitId

git diff

要明白这3个概念,工作区(working tree),暂存区(index /stage),本地仓库(repository)git跟不同的参数,比较不同的区间的版本。

  1. git diff:是查看working tree与index的差别的。
  2. git diff --cached:是查看index与repository的差别的。
  3. git diff HEAD:是查看working tree和repository的差别的。其中:HEAD代表的是最近的一次commit的信息。

综上所述:git diff 后面跟文件名称是是查看工作区(working tree)与暂存区(index)的差别的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值