新手必知的几个常用git命令

git常用命令

git使用命令在网上教程一搜一大把,问题就是实在是太多教程了,加上命令本身功能强大,各种操作容易让人迷失自我,对初学者反而增加了难度。
本文总结了几个在日常生活中最常用的命令,建议了初学者可以优先搞定这部分,就够你80%的日常需求了,之后再慢慢增加知识储备,逐渐提升。
废话不多说,开始学习!

git init

git init是最最最基础的命令了,把你的某个文件夹初始化成一个git项目。命令简单不多说,只是在你git init之前,这有个小建议:记得在你的项目目录下添加上.gitignore文件,该文件会忽略你指定的文件或文件夹被添加到git中,比如你的账号密码配置文件,ide工程辅助文件等。尽早添加.gitignore文件能省去之后好多事~

git status

该命令查看你当前git项目的状态,仔细查看输出,可以看到哪些文件已经被放到暂存区(index)了,哪些还只是停留在工作区(working directory)。为了说明暂存区和工作区的区别,这里打个比方:

小时候打小游戏闯关,一共有100层,每层都有5个boss。为了防止没命了重来,在每一层打过了一个boss就会选择存档一下,以便死了可以重来。这一层5个boss都打了,游戏会自动给你存档一下,说明这一层过了进入下一层。

在这个例子中,你一直在玩的界面,就可以理解为工作区(working directory);你打完每个boss手动存档一下,就是对应着将当前的所有东西用git add存到了暂存区(index);最后打完了一层的5个boss,系统自动存档,就相当于git commit添加到了仓库。

git add

在项目文件夹下对你的文件进行修改,修改完后在项目的根目录下输入git add . 就可以把刚才的内容都存到暂存区啦,是不是挺简单~,提一下,别忘了最后的.,它代表当前整个目录,所以要在项目的根目录下面执行该命令。
git commit之前可以多次调用git add往暂存区,等攒个大的再用git commit提交到仓库里面去。

git commit

git commit -m '备注信息' 将累计存在暂存区内的数据一次性提交到仓库,同时清空暂存区的内容。然后,你用git log就能看到最新提交的commit了。


好了,到现在为止,如果你只需要一个分支,且仅在本地使用git仓库,那么上面的4个命令也勉强够用了,下面谈谈多个分支,以及远程分支等概念,毕竟还是得放到github上给众人炫耀一把。

git checkout

git checkout命令算是比较复杂的命令了,因为它有好多参数,也能实现很多功能。这里介绍两个常用的。

  • 切换到已有分支,或者切换到一个全新的分支
  • 从暂存区恢复文件到工作区

第一个功能是切换分支。假设你刚学会git init,创建的仓库默认是master分支。这时你可以利用git checkout -b dev分支新建一个分支,名字叫dev,名字可以自己取。该命令中-b代表新建一个分支。如果没有-b选项,则切换到已有的分支,例如在dev分支下面调用git checkout master则会切换回已经存在的master分支。

另一个功能是从暂存区恢复文件到工作区。如果你之前用git add命令添加工作区文件到暂存区过,就能够用git checkout -- file1 恢复文件到工作区,该命令小心点用,因为你的工作区文件会被覆盖。命令中有--这个参数,其实就是告诉计算机用该命令恢复文件。试想一下,没有--的话,git checkout file1到底是把file1当做文件名称呢还是分支名称呢,计算机是不好区分的。

git push

git push用来把本地仓库推送到远程仓库。远程仓库往往就是github或gitee等平台咯。推送到远程仓库前,第一次还需要用git remote等设置远程仓库的信息,不过一般我的做法是,在github上新建个仓库(注意要新建空白的仓库不要添加readme等文件),然后网站会自动把你需要配置的信息以命令的形式给你,你只需要复制粘贴就行啦。

这里记录个小知识点,git push 命令往往会加-u选项,这个选项是把你本地的分支和远程的分支建立关联关系,这个关系有什么用呢?最常见的就是未来在你git pull拉取远程分支的时候,系统会自动把远程的分支合并到你本地分支当中。如果git push的时候不设置-u选项,那么本地分支和远程分支不建立关联,等你要合并远程分支的时候,就需要git fetch获取分支,然后手动git merge合并分支,多了步操作。

git fetch

该命令就是从远程仓库获取指定的分支。git fetch origin master 就会从远程仓库下载master分支到本地,以origin/master名称存储在本地。注意,一般从远程fetch回来的分支,我们不对它进行改动,只是读取它或者基于它创建新的分支再修改(利用git merge或者git rebase等命令基于远程分支进行操作)。

git merge

该命令就是合并分支啦。切换到你想要合并的分支,然后调用git merge xxx就能把xxx分支合并到当前所在分支了。

如果合并的时候冲突了,就得手动去解决冲突问题,解决好后再用git addgit commit命令提交一个新的commit到仓库。


OK,差不多把部分常用的git命令讲完啦,废话比较多,写的也粗糙,只是希望大家有这么个概念,也便于之后学习过程中有个印象。毕竟都是基础的命令,算是git的必知必会了。

最后再多一句嘴,很多IDE已经有了很不错的git可视化界面了,成功避免了咱们新手噼里啪啦一顿操作最后还出错的尴尬处境,了解了最基础的git命令后,就去拥抱可视化的版本控制界面吧,提高生产效率才是程序员的第一要义_

祝大家早日搞定git,成为新一代研发大神~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值