Git常用命令

git clone

  

  将远程仓库中的项目下载到本地仓库

  用法: 进入到git工作目录,输入git clone https://github.com/rodickmini/taptempo.git 进行克隆

将远程仓库中的项目下载到本地仓库


git checkout

切换分支或将修改的文件恢复

用法:

clone下代码后,代码默认会在master分支,我们需要把代码切换到一个自己的分支,这样的话,我们随便怎样修改,怎样提交,都不会影响到master或其它分支。

git checkout -b feature-test

这个时候,feature-test分支和master分支的代码是完全一样的,但是此后,你做的所有修改都不会影响master分支,只会在feature-test分支上往下进行。


git status

  显示当前工作目录的文件状态

用法

git status

  • 结果中,
  • Changes to be committed列出了已经add了还没有commit的文件
  • Changes not staged for commit列出了修改了,但还没有add的文件
  • Untracked files列出了新加入的,还没有被git管理起来的文件

git add

作用

将一个普通文件交给git管理或者将修改过的文件添加到git的索引库中。当我们使用git commit时,git将依据索引库中的内容来进行文件的提交。

用法

git add index.html



如果我们一次修改比较多的文件,需要把所有修改的文件都添加到索引库,可以使用:

git add --all


如果我们误把一个文件添加进了索引库,可以使用以下命令将其“拉回”暂存区:

git reset HEAD index.html


如果我们想把一个文件恢复成修改前的状态,可以使用以下命令,就撤销了我们所有的修改:

git checkout index.html

但是,执行这个命令要慎重哦!一旦执行,你的所有修改都找不回来啦!

在执行之前,看一下这次修改了那些东西,那么就需要使用git diff命令:

git diff index.html


git diff 命令会调出一个类似于vi的文本编辑器(只读),里面红色的部分说明你删除了<h1>catch the beat</h1>这一行,绿色的部分说明你添加了display: block;这一行。看完了,按q键就可以退出啦~

git commit

作用

将所有添加到索引库的文件提交到本地仓库

最简单的commit操作如下:

git commit -m "upd"

所以commit message主要要说3件事:

  1. 是upd(更新)、add(添加)还是del(删除)操作
  2. 操作了什么文件(或者什么内容)
  3. 为什么要做这个操作(或者能够解决什么bug,解决什么问题)
即-m 后面的引号能写注释

git push

作用

将本地仓库的修改推送到远程仓库

用法

git push origin feature-test

如果不push,协作的小伙伴们将永远不知道你关起门来做了什么伤天害理的事儿,所以,当我们做完功能后,要记得使用git push将自己的改动推送到远程代码仓库。

如果远程仓库当前没有feature-test这个分支,将会新建分支。

git fetch

作用

将远程代码仓库的代码下载到本地


用法

本地仓库维护着一堆“remote-tracking branches”,翻译过来叫“远程跟踪分支”,对应着本地仓库里remote/master remote/develop这些分支。

fetch操作后,远程跟踪分支就和远程代码仓库里的相应分支代码保持一致了~

git fetch

fetch操作默认只会fetchorigin仓库的分支,如果要fetch其它仓库的分支,需要在后面加上仓库名:

git fetch repo-caiyou

通常,我们的feature分支在完成使命后会被管理员删除掉,而我们各自的本地却不知道,硬盘空间吃紧。所以,如果我们想在管理员删除了远端的某些分支的时候,将自己本地对应的“远程跟踪分支”删除掉,需要在fetch操作时加一个-p参数:

git fetch -p


git merge

作用

将一个或多个分支合并

用法

比如我们当前在develop分支上,git fetch之后,我们把远程代码仓库中的develop分支下载到了本地仓库,但是并没有merge到我们当前工作的develop分支里,看log的话,我们会发现我们本地的develop分支和remote/develop分支还差了老远~因此需要进行如下操作:

git merge origin/develop

这样,develop分支就和remote/develop分支一样了。

git merge操作通常还用在别的一些场景中,比如,我们的同事在feature-x分支上做好了某个业务,此时,需要将feature-x分支合并到develop分支,便于在测试环境上线,就需要先切换到develop分支:

git checkout develop

再将feature-x分支merge到develop分支:

git merge feature-x

当然,如果是比较大的变更,或是涉及到比较重要的文件时,这类业务上的merge操作建议在github上使用pull-request,或是gitlab系统里的merge-request,贸然merge产生大量冲突会很蛋疼的哦~

git pull

作用

将远程代码仓库里的代码下载下来并自动合并到当前工作的分支

用法

git pull

不负责任地讲,git pull基本上等于git fetch + git merge FETCH_HEAD,但是,git pull操作无法看清中间的代码差异和合并的逻辑(其实是我不太清楚啊。。。),曾经踩过坑,代码合并出问题,所以我个人不会直接使用git pull这个操作,毕竟,耿直boy们更喜欢手动挡嘛~

git log

作用

查看代码提交日志

用法

git log

会显示最基本的log信息,但是不直观,不能看清分支之间的分叉、合并、前因后果,所以个人习惯加上--all`--decorate--graph这3个参数:

git log --all --decorate --graph



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值