Git使用-基础篇总结

3个概念

  • 工作区
  • 暂存区
  • 仓库
Git的3个区

git获取帮助

命令格式:git help <verb>

例如,通过 git help commit 可以获得与提交相关的帮助;

git的配置

git config

配置3种参数代表的作用域

  • git config --system : 全系统配置,对所有用户的所有仓库有效,配置信息写在etc/gitconfig中;

  • git config --global : 单用户配置,对当前用户的所有仓库有效,配置信息写在~/.gitconfig中;

  • git config --local : 默认配置方式,--local 可省略,表示本仓库适用,配置信息写在./.git/config中;

配置内容

  • git config user.name xxx : 设置用户名;

  • git config user.email xxx@xx.com : 设置电子邮件;

以上两条必须配置,每次commit时需要;

  • git config core.editor vim : 设置git默认使用的文本编辑器;

  • git config merge.tool kdiff3 : 设置归并发生冲突时,默认使用kdiff3编辑并解决冲突;

查看配置内容

  • git config <key> : 查看指定项目的内容,如git config user.name 查看配置的user.name

  • git config --list : 查看所有的配置信息;

Git 得到一个仓库

初始化一个空的仓库

  • git init : 将当前目录初始化为一个仓库;

  • git init [目录名] : 将指定目录初始化为一个仓库;

从现有仓库中克隆

  • git clone <url> : 从指定的 url 仓库克隆到本地;

Git 文件操作

常用命令

命令 含义
git status 查看仓库文件状态
git add <文件名> 将指定文件加入暂存区, 文件名为 . 时表示当前目录都加入
git commit -m '提交说明' 将暂存区内容提交到仓库
git commit -a -m '提交说明' 直接将工作区的所有修改提交到仓库,不经过暂存区
git rm <文件名> 删除文件,并提交至暂存区
git rm --cache <文件名> 将文件从跟踪名单中删除,而不真的删除文件
git mv file_from file_to 将文件进行重命名并提交至暂存区
git reset HEAD <文件名> 将指定文件从暂存区放回工作区,与git add作用相反
git checkout -- <文件名> 取消指定文件在工作区的修改(不可恢复)
git commit --amend -m '新提交说明' 提交暂存区文件到最近一次提交,并修改该次提交的说明
git commit --amend 提交暂存区文件到最近一次提交,不修改提交说明

设置忽略的文件

在仓库目录下创建.gitignore 文件,其编写方式为:

# 忽略所有 .a 结尾的文件
*.a
# 不忽略文件 lib.a
!lib.a
# 忽略 build/ 目录下的所有文件
build/

说明:

  • # 在.gitconfig中表示注释;
  • 可以使用glob匹配(简化版正则表达)
  • 以反斜杠结尾表示匹配一个目录
  • 要忽略指定模式以外的文件或目录,可以在模式前加上 ! 取反。
  • .gitignore对状态为untracked的文件或目录有效,已经通过git add加入跟踪列表的保持跟踪,除非使用 git rm 进行删除,否则保持跟踪;
  • .gitignore 中若存在两行是冲突的,以后者的定义为主,例如:
# 不忽略文本1.txt
!1.txt
# 忽略所有后缀为txt的文件
*.txt

则若目录下有一个文件名为 1.txt 的文件,git将会忽略该文件;

要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件

glob语法

符号 意义
* 匹配0个或多个任意字符
? 匹配0个或1个任意字符
[ ] 匹配中括号中的任意一个字符
[abc]表示匹配a或b或c
[起始符号-终止符号] 例如[0-9]表示匹配0、1、...、9任意一个字符

查看提交历史

  • git log : 查看项目提交的历史,将会列出每次提交详细的SHA-1值,用户,邮件号,提交信息;

  • git log --pretty=oneline : 以单行形式显示项目历史,包含SHA-1值和提交信息;

  • git log --graph : 通过ASCII字符串表示简单图形,显示仓库的分化、衍合,不过比较丑,建议使用下一条命令;

  • gitk : 图形化显示仓库分化衍合,比较美观,能用这个就别将就用git log --graph

总结

所有之前提到的命令汇总如下,供回忆:

  • git help <verb>
  • git config user.name <用户名>
  • git config user.email <电子邮件>
  • git config core.editor <编辑器>
  • git config merge.tool <合并工具>
  • git config <项目名>
  • git config --list
  • git init
  • git init [目录名]
  • git clone <url>
  • git status
  • git add <文件名>
  • git commit -m ‘提交说明’
  • git commit -a -m '提交说明'
  • git rm <文件名>
  • git rm --cache <文件名>
  • git mv file_from file_to
  • git reset HEAD <文件名>
  • git checkout -- <文件名>
  • git commit --amend -m '新提交说明'
  • git commit --amend
  • git log
  • git log --pretty=oneline
  • git log --graph
  • gitk
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 一件从来没有给别人说过的事,现在差不多两周年。 她叫安聪睿,在我看来这个名字拗口的无法理喻。她说那你就叫我网名呗,...
    皮卡丘不会飞阅读 466评论 0 0
  • 来了
    划划扑阅读 157评论 0 0
  • 何时被你遗忘在角落里 毫不知情的我依旧守着你 看到你的背影越走越远 冷冷的只剩下我自己 才知道我已被遗弃 我仰着纯...
    c94868399e8c阅读 196评论 0 3