Git 常用命令记录

1、简介

git是什么?

分布式的版本控制系统

git的优点:

1、直接记录快照,而非差异比较

这是 Git 与几乎所有其它版本控制系统的重要区别,也保证了git的高效

2、近乎所有操作都是本地执行

  在不联网的状态下也可以顺利完成大部分的工作

3、保证完整性

  Git 中所有数据在存储前都计算校验和,然后以校验和来引用;若你在传送过程中丢失信息或损坏文件,Git 就能及时发现

4、一般只添加数据

  可以尽情做各种尝试,而没有把事情弄糟的危险

基本的 Git 工作流程:

1、在工作目录中修改文件。

2、暂存文件,将文件的快照放入暂存区域。

3、提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

image

Git 仓库目录:
--用来保存项目的元数据和对象数据库的地方。 Git中最重要的部分,克隆仓库时,拷贝的就是这里的数据。

工作目录:
--是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区域:
--是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。

2、安装Git

在使用 git 之前,首先需要将它安装在你的计算机上。如已经安装,最好将它升级到最新的版本。

可以通过软件包或者其它安装程序来安装,或者下载源码编译安装:

# ubuntu
$ sudo apt-get install git

3、初次运行 Git 前的配置

  • 定制Git 环境

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置

1)、/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 
    --如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

2)、~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 
    --可以传递 --global 选项让 Git 读写此文件。

3)、当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。

#注意:每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

  • 用户信息

设置你的用户名称与邮件地址:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

  • 配置文本编辑器

通过如下命令配置默认文本编辑器:

$ git config --global core.editor gedit

  • 检查配置信息

可以使用如下命令来列出所有 Git 当时能找到的配置

git config --list

  • 忽略文件

通常有些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等,无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。

在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

$ cat .gitignore
*.[oa]
*~

4、常用命令

  • 帮助命令

git help
--用来显示任何命令的 Git 自带文档。
--对于每一个命令的完整的可选项及标志列表,你可以随时运行 git help <command> 命令来了解

  • 在现有目录中初始化仓库

git init

  • 克隆现有的仓库

git clone [url]

  • 检查当前文件状态

git status

  • 跟踪新文件/暂存已修改文件

git add

  • 查看文件具体修改

git diff
--将通过文件补丁的格式显示具体哪些行发生了改变

  • 提交命令

git commit

  • 移除文件

git rm

  • 查看提交历史

git log
-p,用来显示每次提交的内容差异
-2, 来仅显示最近两次提交

  • 撤消对文件的修改

git checkout --

  • 查看分支

git branch

  • 创建分支

git branch <name>

  • 切换分支

git checkout <name>
git switch <name>

  • 创建+切换分支

git checkout -b <name>
git switch -c <name>

  • 合并某分支到当前分支

git merge <name>

  • 删除分支

git branch -d <name>

  • 查看远程库信息

git remote -v

  • 从本地推送分支

git push origin branch-name
--如果推送失败,先用git pull抓取远程的新提交

  • 在本地创建和远程分支对应的分支

git checkout -b branch-name origin/branch-name

  • 建立本地分支和远程分支的关联

git branch --set-upstream branch-name origin/branch-name

  • 从远程抓取分支

git pull
--如果有冲突,要先处理冲突

(待更新)

参考资料:

https://www.liaoxuefeng.com/wiki/896043488029600

https://www.progit.cn/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容