Git 学习笔记(不全面,够个人使用)
Git 是一款免费、开源的分布式版本控制系统,也是当今最为流行的版本控制系统之一,在众多的项目开发中普遍使用,得到程序员和工程师的欢迎和喜爱。
Git 三大区域
- 工作区:写代码的地方
- 暂存区:暂时存放未提交的内容
- Git 仓库:本地仓库+远程仓库
常用的远程仓库服务器
- GitHub:远程仓库服务器、代码托管平台、全球最大的同性交友网站(访问速度可能较慢,但最火)
- Gitee:国内版的 GitHub(访问速度更快)
- GitLab:一个开源项目,可用于搭建自己的远程仓库
全局配置个人信息
命令:git config --global user.name '用户名'
命令:git config --global user.email '邮箱'
生成版本
常用的 Git 命令
git init
:在项目中初始化 Git,让 Git 管理当前项目git status
:检查当前文件状态,需要经常使用git add <file2> <file2> ...
:将工作区的指定内容添加到暂存区git add .
:将工作区的内容一起添加到暂存区git commit -m '描述信息'
:将暂存区内容提交到本地仓库,生成版本git log
:查看提交记录,不包括被“丢弃”的版本git log --oneline
:以一行的方式查看提交记录
重置版本
常用的 Git 命令
git reset --soft 版本号
:仅重置本地仓库git reset --mixed 版本号
:重置本地仓库和暂存区,默认行为git reset --hard 版本号
:重置本地仓库、暂存区和工作目录(这个操作比较危险,会覆盖正在开发的代码)git reflog
:可以查看所有记录,包括被“丢弃”的版本
Git 忽略文件 — .gitignore
.gitignore 是一个文件,用于指定被 Git 忽略的文件,即指定某些文件不受 Git 管理
以下是在 .gitignore 文件中常用的命令:
#
:注释文件名.后缀
:忽略指定文件,不让 Git 管理文件名.*
:忽略所有指定文件名的文件,不管后缀是什么*.后缀
:忽略所有指定后缀的文件,不管文件名是什么!文件名.后缀
:取反,不忽略 test.tmp 文件,让 Git 管理起来目录名/
:忽略指定目录名下的所有文件(Git 管理的是文件,空目录会自动被 Git 忽略掉)
创建与切换分支
常用的 Git 命令
git branch
:查看分支git branch -v
:查看分支(展示的信息多一些)git branch 分支名
:在当前分支的节点上创建新的分支git checkout 分支名
:切换分支,兼容性好git switch 分支名
:切换分支,v2.23.0 版及以后可用
合并与删除分支
合并分支时,先切换到最终要合并到的分支,在进行合并
常用的 Git 命令
git merge 要合并的分支名
:将指定分支合并到当前分支git branch -d 分支名
:删除分支git log --oneline --graph
:以一行、图形化的方式查看提交记录
操作远程仓库
1. 将本地仓库推送到远程仓库
将本地仓库推送到远程仓库需要权限
- 仓库创始人默认有这个权限
- 其他人需要先加入团队,才能推送
git remote add 别名(常用 origin) 远程仓库地址
:配置别名这个别名是针对当前项目而不是全局的
git push 别名/远程仓库地址 要推送的分支
:将本地仓库选定的分支推送到远程仓库git remote -v
:查看配置的别名
2. 将远程仓库拉取到本地仓库
- 没有本地仓库的时候使用 git clone
- 已经有本地仓库且远程仓库有更新的时候使用 git pull
git clone 远程仓库地址
:克隆远程仓库到本地git pull 别名/远程仓库地址 分支名
:从远程仓库拉取最新版本到本地