git基本命令1


git init

git init用来将当前目录初始化为git目录,当执行完git init后,当前目录会创建一个.git的目录,所有git需要的数据和资源都存放在这个目录下。

git add

git add支持正则表达式,git add .表示暂存所有已修改文件,git add filename表示暂存某个文件。git add之前的文件对应git已修改状态,git add之后的文件对应git已暂存状态。

git commit

git commit一般写成git commit -m "注释"的形势,用来提交当前已经暂存修改的文件,git commit之前对应已暂存状态,git commit之后对应已提交状态。一般git addgit commit同时使用。-a去掉git add的过程。--amend可以修改上次提交时提交信息不对的问题。

git clone

git clone可以克隆远程仓库或者仓库的某个分支到本地,在项目中最好克隆整个仓库到本地,易于后期操作。如获取某个远程仓库为git clone url,如果需要仓库和远程仓库名不同,则需要使用git clone url:repositoryName

git status

git status用来展示当前某些文件处于什么状态,如果有文件修改但是没有暂存时会展示修改的文件,并提示nothing added to commit but untracked files present (use "git add" to track),有未跟踪文件,使用add来跟踪。如果已经add但是没有commit则会提示Changes to be committed需要用户去使用commit命令来提交变更,提交变更后提示就会变成nothing to commit, working tree clean

忽略文件

在当前仓库目录下使用命令vim .gitignore命令,创建或者编辑该文件,在该文件中声明的文件,都不会出现在未跟踪文件列表(即修改这些文件时使用git status时不会提示未跟踪)。.gitignore格式规范如下所示:

  • 所有空行或者以#开头的行都会被忽略。
  • 可以使用标准的glob模式(简化了的正则表达式)匹配。
  • 匹配模式最后跟反斜杠说明要忽略的是目录。
  • 要忽略指定模式外的文件或目录需要加上!取反。

git diff

该命令比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化的内容。git diff --cached比较已经暂存起来的文件和上次提交的快照之间的差异。

git rm

删除当前文件并放入到暂存区域。如果已经在暂存区域则需要git rm -f fileName

git mv

和linux下mv操作差不多,相当于改名操作。相当于mv + git add

git log

查看提交历史, 上下可以翻页,q退出。-p -num用来查看最近提交num次的记录、--stat显示简要的增改行数、--pretty=format:"格式"以特定形式显示出来、--graph以图形方式显示,就是在原有基础上增加了从哪一个提交记录到下一个记录的连接线。具体用法使用git help log。特定形式如下所示:

选项说明
%H提交对象的完整哈希字串
%h提交对象简短哈希字串
%T树对象的完整哈希字串
%t树对象的简短哈希字串
%P父对象的完整哈希字串
%p父对象的简短哈希字串
%an作者名字
%ae作者邮箱
%ad作者修改日期
%cn提交者的名字
%ce提交者邮箱
%cd提交日期
%s提交说明

基本上大写是特定的完整的输出,小写是简短输出,每个都是英文名称的对一个字符。

git remote

git remote管理远程仓库,git remote显示当前已经加入的远程仓库名、git remote -v 显示当前已经加入的远程仓库名和远程url、git remote add name url添加远程仓库、git remote rm name删除已经加入的远程仓库。git remote rename preName nowName重命名。

git fetch、git pull、git clone

都是拉取远程仓库信息,常用的是git clone,git clone相对其他两个而言,会将远程所有信息拉取到本地,这样便于后续操作。git fetch同步远程仓库数据到本地,git pull抓取远程仓库某个特定分支到本地仓库并与本地仓库合并,git clone将远程仓库克隆到本地。

git push

将本地信息推送到远程仓库。git push [remote-name] [branch-name]git push name v0.1推送特定的tag到服务器,git push name --tags推送所有tag到服务器。

git tag

git tag显示所有的标签,git tag -l ''显示特定的标签。git tag -a v1.0 -m 'version 1.0'创建含附注标签。v1.0表示当前tag号,version 1.0表示当前标签的备注。git tag v1.0创建轻量级tag。git tag -a v0.1 sha将某个特定的历史提高添加tag。

git config

可以通过该命令来配置git命令别名。git config --global alias.co checkout,表示将git checkout配置成git co


Remarks:

  1. 标签有轻量级的和含附注的。而轻量级的是不会变化的,默认指向特定提交对象的引用,附注标签是存储在仓库中的一个独立的对象、一般情况下最好使用附注标签,但是如果对外发布可以用轻量级标签。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值