Git基础 1 —— 基础配置与文件操作

Git Pro 第二版: https://www.gitbook.com/book/bingohuang/progit2/details


1. 基础配置

1) 用户名和邮件地址

$git config --system user.name "user name"

$git config --system user.email "email@email.com"

--system 代表的是全局配置,即系统中所有用户的配置相应的配置文件为 /etc/gitconfig

        --global 代表当前用户配置, 配置文件为 ~/.gitconfig 或 ~/.config/git/config

不加参数 代表当前Git项目配置, 配置文件为.git/config

级别  .git/config > ~/.gitconfig > /etc/gitconfig

2) 配置编辑器

$git config --global  core.editor emacs

默认使用VIM, --global 含义通上

3) 别名

$git config --global alias.co checkout

$git config --global alias.ci commit

$git config --global alias.br branch

$git config --global alias.unstage 'reset HEAD --'

$git config --global alias.last 'log - 1 head'

4) 查看配置信息

$git config --list

2.仓库操作

1) 初始化

a. $git init 初始化本地git 仓库, 项目目录下会新增.git 文件夹, 但此时并没有跟踪项目中的任何文件 需要使用 $git add  命令跟踪项目文件和$git commit 命令将已缓存的文件添加到本地仓库中

b. $git clone [url] 将默认配置下的远程仓库clone到本地

3.文件操作

1) 检查当前文件状态

$git status

简写举例

 $git status -s

     M README

  MM Makefile

                  A      lib/git.rb

  M     lib/simplegit.rb

                  ??  LICENSE.txt

?? 代表新增但未跟踪

A 新添并加到暂存区

左M 修改了并且放到了暂存区

右M 修改了但未放到暂存区

2) 跟踪新文件/暂存已修改文件

$git add 文件/目录

3) 忽略文件

修改 项目目录下的.gitignore文件(没有新建一个)

$cat .gitignore

*.[ao]                                # 忽略.a 和.o 结尾的文件

*.~  # 忽略~结尾的文件

######################################################################################

.gitignore 文件格式规范:

*所有空行或者#开头的行都会被Git 忽略

*可以使用标准的glob模式匹配

*匹配模式可以以 “/” 开头防止递归, 如 /some  仅仅忽略当前目录下的some文件

*匹配模式可以以 “/”结尾指定目录

*要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号( ! )取反。

4) 文件更改内容

只查询为暂存的差异

$git diff

以暂存的将要添加到下次提交里的内容

$git diff --staged 或 $git diff --cached

注意 Git不同于SVN的每次存储与初始版本的差异, 而是随时间改变的文件的快照

5) 提交文件

仅提交已暂存的文件

$git commit

SHELL 环境变量$EDITOR 所指定的编辑器会被打开以便输入提交说明, 它会显示以下信息

如果想要更详细的对修改了哪些内容的提示,可以用-v 选项,这会将你所做的改变的 diff 输出放到编辑器中从而使你知道本次提交具体做了哪些修改,退出编辑器时,Git会丢掉注释行, 用你输入的提交附带信息完成一次提交。可以使用 -m 选项将提交信息与提交命令放在同一行:

$git commit -m "message"

使用-a 选项提交所有暂存过的文件

$git commit -a -m "message"

6) 移除文件

从跟踪文件和工作目录中一并删除文件

$git rm filename

如果删除之前修改过并且已发到暂存区域,则必须使用 -f 选项

使用 --cached 选项把文件仅仅从Git仓库中移除, 如:

$git rm --cached log/\*.log

7) 移动文件

$git mv file1 file2

本质上

$mv file1 file2

$git rm file1

$git add file2

8) 查看提交历史

按提交时间列出所有更新, 最近的更新会排在最上面

$git log

使用-p显示每次提交的差异, -n 显示最近 n次提交

$git log -p -2

使用 --stat 选项 查看每次提交的统计信息

$git log --stat

使用 --pretty 选项自定已输出格式,如:

$git log --pretty=format:"%h - %an, %ar : %s "

format或online 选项与 --graph结合使用可以形象的展示出分支 合并历史

$git log --pretty=format:"%h %s" --graph

限制 log 输出选项 --since, --after, --until, --before, --author, --commiter, --grep...

详细参见 Git Pro

9) 取消操作

重新提交

$git commit --amend

取消暂存

$git reset HEAD filename

撤销修改

$git checkout -- filename

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值