GIT学习笔记(一)

文章参考自:https://www.open-open.com/lib/view/open1328069609436.html

一、git配置文件

目录

/etc/gitconfig 对所有用户生效
~/.gitconfig 只对当前用户生效

修改个人信息:

$ git config --global user.name “name”
$ git config --global user.email name

修改编辑器:

$ git config --global core.editor emacs

查看config信息:

$git config --list

差异分析工具

$ git config --global merge.tool meld

二、git基本命令

新建本地项目

在项目目录下执行  git init
将文件纳入版本控制  git add <文件名>
提交更改 git commit -m ‘文本说明’

如没有-m参数,则会在提交后使用系统预设文本编辑器输入本次提交的文本说明

从远程仓库clone项目

$ git clone git://<git的地址> <可选参数,意为clone后的项目名称>

检查当前文件状态

$ git status

文件修改后,跟踪修改的文件,命令执行后,文件进入暂存区

$ git add <文件名>

修改文件后,没有git add时,使用git status命令将看到暂存区文件和未跟踪文件,此时commit将只提交暂存区文件

修改后文件对比

$ git diff    修改后文件与暂存区对比
$ git diff -cached   暂存区文件与已经commit文件对比

忽略文件

项目目录下 .gitignore 文件里为忽略规则

# 此为注释 – 将被 Git 忽略
*.a       # 忽略所有 .a 结尾的文件
!lib.a     # 但 lib.a 除外
/TODO      # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/     # 忽略 build/ 目录下的所有文件
doc/*.txt    # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

删除文件

$ git rm 从工作目录移除文件
$ git rm -f 从暂存区和工作目录移除文件
$ git rm --cached 从git仓库里移除

重命名文件

$ git mv <原文件名> <新文件名>
等价于下列三条命令:
$ mv <原文件名> <新文件名>
$ git rm <原文件名>
$ git add <新文件名>

撤销提交

$ git commit --amend 使用暂存区重新提交,可重新编辑提交日志
如有文件忘记提交,可在commit后add,然后再–amend
  $ git commit -m ‘initial commit’
  $ git add forgotten_file
  $ git commit --amend
$ git reset head [文件名] 取消缓存区里的文件
$ git checkout – [文件名] 取消对工作目录中文件的修改

查看提交历史

$ git log

参数:

-p 比较每次提交的差异
-2 只显示最近两次提交
–stat 只显示简要的增减行统计

–pretty 格式化输出结果
参数: --pretty=oneline 结果显示在一行

–pretty=format:"%h - %an, %ar : %s"  定制显示格式

%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

log其他参数

-p 按补丁格式显示每个更新之间的差异。
–stat 显示每次更新的文件修改统计信息。
–shortstat 只显示 --stat 中最后的行数修改添加移除统计。
–name-only 仅在提交信息后显示已修改的文件清单。
–name-status 显示新增、修改、删除的文件清单。
–abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
–relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
–graph 显示 ASCII 图形表示的分支合并历史。–pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,
short,full,fuller 和format(后跟指定格式)。

远程仓库的使用

$ git clone git://*** 从远程仓库clone项目 默认本地仓库名为origin
$ git remote (-v) 列出所有已获得的远程仓库(显示仓库的网络地址)
$ git remote add [shortname] [url] 添加名为shortname的网络地址为url的远程仓库
$ git fetch [shortname] 从shortname仓库拉取本地没有的数据 fetch只拉取数据,不会进行分支合并
$ git pull 自动抓取数据,将远程仓库分支合并到当前分支

默认情况下,clone命令实质是在本地新建master分支然后同步远程仓库的master分支

$ git push [remote-name] [branch-name] 从本地将branch-name分支数据推送到remote-name仓库的对应分支上,前提是有写权限,没有别人正在
同步数据,如果此时服务器的数据已经经过许多分支的修改,则必须将服务器上的修改全部fetch到本地后再进行提交

$ git remote show [remote-name] 查看远程仓库的详细信息
$ git remote rename [old-name] [new-name] 修改远程仓库名称,此时对应分支名称也会变更
$ git remote rm [remote-name] 删除远程仓库

标签

$ git tag 列出现有标签
$ git tag -a v1.0 -m ‘The version 1.0’ 打标签,-a表示打一个有详细信息的标签,-m表示文本说明,如不加则会弹出文本编辑器
$ git show v1.0 显示v1.0标签的详细内容
$ git tag v1.1 打一个轻量化标签
$ git tag -a v1.2 [某次提交记录的校验和] 为某次提交记录补标签
$ git push origin [版本号] [–tags] 同步某个版本号的标签/同步所有标签

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值