Git 入门

写在前面:本文所有系统为 OS X

环境配置

首先,在 terminal 终端检查是否安装 Git : git --version,安装成功的提示如下:

然后,设置git的两个基本信息:用户名和邮箱

#设置用户名和邮箱
git config --global user.name "xxx(用户名)"
git config --global user.email "xxxx(邮箱地址)"

设置完成后,可以使用atom 编辑器打开 atom ~/Users/你的用户名/.gitconfig,查看效果.

基本操作流程和常用命令

新建一个文件夹: mkdir Demo
打开新建的文件夹: cd Demo
初始化git工厂: git init
新建文件: touch a.txt
向该文件中添加内容: echo vvvv > a.txt
将该文件添加给git: git add a.txt
将该文件提交到git工厂: git commit -m "first" (其中-m 代表 message,后面引号内容是对此次提交的描述)
通过git日志,查看提交结果: git log

git 版本控制原理(四种文件状态)

git的文件有四种状态

  • Untracked
  • Unmodified
  • Modified
  • Staged

可以使用 git status 查看当前文件的状态
以文件a.txt为例,说明四种状态:
Untracked : 文件a.tx刚被创建,未执行 git add a.txt之前.
Staged: 执行 git add a.txt之后
Unmodified : 执行 git commi -m "first" 之后
Modified: 已经完成上述操作后, 再对 a.txt 做更改, a.txt 文件状态变为 modified

Unmodified 状态转换为 Untracked 状态: git rm --cached a.txt

注意: 只有 Staged 状态才能 commit到版本库中,如果是 Modified 状态,需要先通过add将其设置为 Staged 状态

git 四个常用组件

  • Tag
  • Commit
  • Tree
  • Blob

git 的每个组件是根据文件内容生成hash的二进制,其中hash的前两位为组件的文件夹名,剩余位数为文件名.
Blob : 在文件状态变为 Staged 时候生成的
Tree : git commit -m "first" 之后, 马上创建一个 tree 组件,把需要的 blob 组件添加进去
Commit : tree 组件封装到 commit 组件中,完成本次提交

git 分支

创建分支: git branch 分支名
切换分支: git checkout 分支名
创建并切换分支: git checkout -b 分支名
合并分支: git merge 要合并的分支
删除分支: git branch -d 分支名
在a分支新建一个分支: git checkout -b 新分支 指定分支a

附加
在 .gitconfig 中进行以下配置,可以简写输入的命令:

[alias]
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    co = commit
    st = status -s

git status -s : 以精简的方式显示文件状态, s代表short
git log --pretty=oneline : 格式良好的输出日志

参考资料:

  1. 孔浩git入门系列
  2. 视频配套资料
  3. 在Github的README.md中显示一张图片
原文地址:https://www.cnblogs.com/linkworld/p/7401409.html