GIT:常用git指令

最常用三板斧:

git add .   // 工作区 --> index暂存区

git commit -m""  //index暂存区 --> 本地版本库

git push origin HEAD:refs/for/xxx_dev    //本地版本库 --> 服务器版本库

git status可查看相应状态  

与之相对应:

常用的,将本地代码工作区暂存区都完全更改为本地版本库中的内容

git reset --hard 

加上HEAD 参数,HEAD 既版本的意思

git reset --hard HEAD~n

更常用的跟随commitid来回退

git reset --hard 58befd6    //前7位的commitid git会根据前7位去自动适配

既然要根据commitid,当然有查询commitid cmd

git log -7 --oneline //查看最近7条commiid,按照时间顺序排列。包括了服务器的merge动作

如果加上--graph参数

git log -7 --oneline --graph //查看7条commitid,以分支合并顺序排列,可能会有时间交错。

git log -7 //查看最近7条提交,包括author data note 以及change id信息(change id 貌似没什么用)主要还是用commitid ,如果想看是基于那个parent 还是去服务器查看

 

回到git reset 其实--hard还有两个对应的参数

--mixed: reset HEAD and index。表示重置 HEAD 指针和 index 暂存区,但保持工作区不变。它是默认选项。
--soft: reset only HEAD。表示仅仅重置 HEAD 指针,即只改变 HEAD 的指向,但保持工作区和暂存区不变。
--hard: reset HEAD, index and working tree。表示重置 HEAD 指针、index 暂存区和工作区。这个才是完整的版本回退

--soft和--mixed也常用的,比如修改了代码,提交了本地版本库,但是发现,代码有问题,这个时候可以只重置版本库,工作区的内容不会丢失

(以前一直傻不拉几的提交到服务器然后abandon --hard完事再复制回来。。蠢到家了)

代码误操作还有个方式更简单

加入已经将本地仓库push到了服务器上,git commit --amend --no-edit 可以追加提交

在本地仓库已经有了这一笔的提交基础上,修改完代码后,git add . git commit --amend --no-edit 可以将新修改的代码合入上一笔提交。

使用同一个commitid 直接再push到服务器端。

以上是提交代码、查看log 、代码误提交常用的操作

 

从服务区拉代码,如果用的是git,基本上是如下几个操作:

git clone +ssh链接 //拉去本地版本库

git checkout + 分支名 //检出分支

git pull //拉去远程分支,和本地分支合并 这玩意有风险,以后有空再展开谈

 

查看分支相关操作

1.git branch查看本地所有分支

2.git branch -r查看远程所有分支

3.git branch -a查看本地和远程所有分支

 

某日看到有个小伙伴用了git GUI 的某个功能,惊为天人,非常方便

repository -- visualize +分支名

简直了,上瘾。除了查commitid还是指令好用之外,别的简直吊打git log 

当然git log也是强大的一批,对于新手而言 小GUI的查看log方式够用很久了

posted @ 2021-04-21 20:09  无头之蝇  阅读(119)  评论(0)    收藏  举报