Git常用命令

查看命令

1.变更查看commit log的格式

git log --pretty=oneline  每个commit内容只显示一行(oneline还可以改为short等)


2.获取远程分支后,查看要并进本地分支的内容是什么,本地分支为branchName

   git fetch origin

   git log --no-merges origin/master branchName


3.查看远程分支更新内容,同2

git fetch origin

git log origin/featureA ^featureA

  

创建和更新分支

1.本地新建一个featureB,并把远程服务器的master分支clone下来

git checkout -b featureB origin/master 


2.合并远端服务器

git checkout featureB

如果远端服务器已经更新了,要先fetch

git fetch origin

会把远端的新分支和内容取下来。

git merge origin/featureBee

融合远端分支到本地

git push origin featureB:featureBee   (格式——git push 远端名 本地分支名:远程服务器对应的分支名)

把本地的featureB内容push到远端featureBee


3.衍合——即把分支A的特性融合到指定分支

git checkout featureA    打开分支A

git rebase origin/master  意思是已经从远端服务器(origin)fetch下来master了,现在要把当前的featureA的内容衍合到origin/master(服务器端的master)

git push origin featureA   提交该衍合操作

如果要覆盖远端的featureA(当现在的featureA并非原来的后续更新)可以加-f参数,表示force

git push -f origin featureA


恢复到原来某个版本

git reset --hard(此过程不可逆,回到修改之前的状态)

直接回到某个版本

我们现在切换到bra分支。

git checkout bra

然后用gitk看一下。可以看出,我们之前的操作,对bra分支一点影响也没有。现在我们需要把bra分支回复到初始状态,但是当前的改动的代码还是需要留着。我们可以看,init版本是当前版本的父节点的父节点。我们可以这么操作:

git reset --soft HEAD^^

HEAD^代表父节点,HEAD^^代表父节点的父节点

总结

git回到上一版本命令
 
git reset是指将当前head的内容重置,不会留log信息。
 
git reset HEAD filename  从暂存区中移除文件
 
git reset --hard HEAD~3  会将最新的3次提交全部重置,就像没有提交过一样。
 
git reset --hard commit (38679ed709fd0a3767b79b93d0fba5bb8dd235f8) 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
 
根据--soft --mixed --hard,会对working tree和index和HEAD进行重置:
 
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留 源码,回退commit和index信息
 
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
 
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
例如:我要彻底返回在上一次提交以前的版本。git reset --hrad HEAD~1
 
我要回到上一次提交的版本:
 
git reset --hard


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值