Git 简介
Git 是一个开源的分布式版本控制系统, 用于高效的管理各种大小项目和文件的代码管理工具.
2. 代码管理工具的用途
防止代码丢失, 做备份
项目的版本管理和控制, 可以通过设置节点进行跳转
建立各自的开发环境分支, 互不影响, 方便合并
在多终端开发时, 方便代码的相互传输
3. Git 的特点
Git 是开源的, 多在 * nix 下使用, 可以管理各种文件
Git 是分布式的项目管理工具(SVN 是集中式的)
Git 数据管理更多样化, 分享速度快, 数据安全
Git 拥有更好的分支支持, 方便多人协调
4. Git 安装
sudo apt-get install Git
基本概念
工作区 workspace: 项目所在操作目录, 实际操作项目的区域
暂存区 index: 用于记录工作区的工作 (修改) 内容
仓库区 Repository: 用于备份工作区的内容
远程仓库 Remote: 远程主机上的 Git 仓库
注意: 在本地仓库中, Git 总是希望工作区的内容与仓库区保持一致, 而且只有仓库区的内容才能和其他远程仓库交互.
初始配置
配置命令: Git config
配置所有用户: Git config --system [选项]
# 配置用户名
e.g. 将用户名设置为 Tedu
sudo Git config --system user.name Tedu
配置当前用户: Git config --global [选项]
# 配置用户邮箱
e.g. 将邮箱设置为 lvze@tedu.cn
Git config --global user.email lvze@tedu.cn
配置当前项目: Git config [选项]
# 配置编译器
e.g. 配置编译器为 pycharm
Git config core.editor pycharm
4. 查看配置信息
- tarena@tarena:~/gitproject$ Git config --list
- use.name=Tedu
- user.name=Tedu
- user.email=1786088386@qq.com
- core.repositoryformatversion=0
- core.filemode=true
- core.bare=false
- core.logallrefupdates=true
- core.editor=pycharm
配置文件位置: /etc/gitconfig
配置文件位置: ~/.gitconfig
配置文件位置: project/.Git/config
基本命令
1. 初始化仓库: Git init
将某个项目目录变为 Git 操作目录, 生成 Git 本地仓库. 即该项目目录可以使用 Git 管理
2. 查看本地仓库状态 Git status
说明: 初始化仓库后默认工作在 master 分支, 当工作区与仓库区不一致时会有提示.
3. 将工作内容记录到暂存区 Git add [files..]
e.g. 将 a ,b 记录到暂存区
Git add a b
e.g. 将所有文件 (不包含隐藏文件) 记录到暂存区 Git add *
4. 取消文件暂存记录 Git rm --cached [file]
5. 将文件同步到本地仓库 Git commit [file] -m message
e.g. 将暂存区所有记录同步到仓库区 Git commit -m 'add files'
说明: -m 表示添加一些同步信息, 表达同步内容
6. 查看 commit 日志记录
- Git log
- Git log --pretty=oneline
7. 比较工作区文件和仓库文件差异 Git diff [file]
8. 将暂存区或者某个 commit 点文件恢复到工作区 Git checkout [commit] -- [file]
-- 是为了防止误操作, checkout 还有切换分支的作用
9. 移动或者删除文件
- Git mv [file] [path]
- Git rm [files]
注意: 这两个操作会修改工作区内容, 同时将操作记录提交到暂存区.
忽略提交说明:
在 Git 项目中可以通过在项目文件夹下定义. gitignore 文件, 在每行指定一个文件夹名, 被指定的文件夹在提交的是后会被忽略, 忽略命令.
file 表示忽略 file 文件
*.a 表示忽略所有 .a 结尾的文件
!lib.a 表示但 lib.a 除外
build/ 表示忽略 build / 目录下的所有文件, 过滤整个 build 文件夹;
版本控制
1. 退回到上一个 commit 节点 Git reset --hard HEAD^
注意 : 一个 ^ 表示回退 1 个版本, 依次类推. 当版本回退之后工作区会自动和当前 commit 版本保持一致, 日志也会删除
2. 退回到指定的 commit_id 节点 Git reset --hard [commit_id]
3. 查看所有操作记录 Git reflog
注意: 最上面的为最新记录, 可以利用 commit_id 去往任何操作位置
4. 创建标签 Git tag [tag_name] [commit_id] -m [message]
来源: https://www.cnblogs.com/LXP-Never/p/11205068.html