简介
Git是一个分布式版本控制系统,由 Linux 内核的作者 Linus 在2005年为解决 linux 内核代码的版本控制问题而开发。目前 Git 已经是最流行的分布式版本控制系统。
安装Git
最早 Git 是在 Linux上 开发的,因此早期 Git 只能运行在 Linux 和 Unix 系统上,随着 Git 的流行,Git 被移植到其他平台,现在 Linux、Unix、Mac和Windows这几大平台上都可以使用 Git
在 windows 上安装 git
去官方下载页,选择最新版下载即可
具体安装步骤可以参考这篇文章Git 详细安装教程(详解 Git 安装过程的每一个步骤)
更新
git update-git-for-windows
在 Mac os 上安装 git
Mac os 默认已经安装好了 git
通过以下命令查看 git 当前版本
git version
但是系统自带的 git 一般版本比较老,建议安装最新版,以享受新特性和中文支持
通过以下命令查看 git 当前所在位置
which git
我在网上找了一下,没有找的直接升级系统自带 git 的方法,大家都是通过安装新版 git 后,修改 git 的指向来解决,我也是采用这种办法
通过 brew 安装 git
这里我通过 Homebrew 来安装(你也可以通过官网提供的安装包来安装),关于 Homebrew 请参考 Homebrew 与 Cakebrew
安装命令
brew install git
修改 git 的指向
安装好后使用 git version 看到的还说旧版本,因为还没有修改 git 的指向
编辑 环境配置文件
vi ~/.bash_profile
将 git 加入环境变量中
export GIT=/usr/local/Cellar/git/2.25.0_1
export PATH=$GIT/bin:$PATH
保存并退出后,使用 source ~/.bash_profile 使配置生效
再使用 git version 查看 git 版本
配置 git
git 安装后还需要配置一下git用户信息,用来跟踪代码是谁提交的
配置 git 用户信息
需要配置用户名和邮箱,主要是方便其他参与者知道提交者是谁,以及提交者的联系方式
根据使用场景,git 提供3种作用域的用户配置
--local 的作用域为当前git仓库
git config --local user.name 你的用户名
git config --local user.email 你的邮箱
--global 的作用域为操作系统的当前用户
git config --global user.name 你的用户名
git config --global user.email 你的邮箱
--system 的作用域为操作系统的全局用户
git config --system user.name 你的用户名
git config --system user.email 你的邮箱
一般我们选择 --global 作用域就行了,如果遇到有些仓库需要其他名称,在通过 --local 作用域设置
当同时配置了多个作用域时,git读取的优先级为 --local > --system > --global
处理换行符
不同的操作系统使用的换行符是不一样的,UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致使用0x0A(LF)。但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。
跨平台协作时,如何处理换行符是一件麻烦事,好在git为我们提供了完美的解决方案,具体请参考Git 优雅处理行结束符,如果不行看过程,只想看最终解决方案,请直接查看 .gitattributes 文件总结 这一节
常用命令
回滚提交
当你 commit 了一些改动,并 push 到了远端,过了一段时间后发现刚刚写的代码需要撤回,这个时候因为 push 到了远端了,所以已经没有后悔药了,唯一的解决办法就是反向修改原有的代码,并 push 到远端使它恢复原状。git 为这一场景提供了快捷命令 - git revert
把某次 commit 的内容反向修改并添加到暂存区
git revert c45806f --no-edit --no-commit
- c45806f 是那次提交的简写哈希值
- --no-edit 表示不编辑
- --no-commit 表示不提交,如果不加会直接创建一个包含反向修改内容的
commit,如果我们只想撤销部分修改,就需要加上该参数,这样 git 会把反向修改的内容放在暂存区,我们还可以进一步的修改