Git Note#2:Command
Git系列学习笔记基于尚硅谷Git及Github教程📒
介绍Git本地库操作,冲突处理,远程库操作;Git跨团队协作以及SSH密钥。
目录
- Introduction
- Command👈
本地库操作
查看手册
1 | git help <command> |
本地库初始化
初始化本地库,创建.git
文件夹
1 | git init |
设置签名
签名的形式是用户名+Email地址,用于区分开发人员身份,与远程库账号无关
1 | #项目级别/仓库级别:仅在当前本地库范围内有效 |
就近原则,优先使用项目级别签名,不允许二者都没有
系统级别签名信息可在
~/.gitconfig
中查看或修改
文件操作
1 | #查看工作区/暂存区状态 |
版本查看
1 | git log #只显示过去文件版本 |
log
命令参数
--pretty=online
一行格式显示--oneline
一行格式显示&哈希值缩略显示
版本控制
可以找回删除的文件
1 | git reset --hard <idx> #基于索引值选择目标版本 |
reset
命令三个参数
--soft
仅在本地库移动HEAD指针--mixed
在本地库移动HEAD指针,重置暂存区--hard
本地库移动指针,重置缓存区,重置工作区
比较文件差异
1 | git diff <file> #比较工作区和暂存区 |
- 不带文件名则比较多个文件
分支操作
版本控制中,使用多条线同时推进多个任务。
查看分支
1 | git branch -v |
创建新分支
1 | git branch <name> |
切换分支
1 | git checkout <name> |
合并分支
合并目标分支到当前分支
1 | git merge <name> |
*冲突处理
Git检测到冲突后会使用特殊符号在冲突文件中标识冲突信息,直接编辑冲突文件直至满意后重新add
和commit
后即可(commit时不能注明文件名部分提交)😐
远程库操作
推送Push
1 | # 添加地址别名 |
克隆Clone
1 | # 克隆远程库到本地(自动创建origin别名) |
拉取Pull
pull = fetch + merge
1 | # 抓取(创建新branch:<address_name>/<branch_name> 保存抓取文件) |
远程库操作冲突处理
不是基于远程库最新版做的修改,push会失败,需要先拉取。
首先pull,在本地发现冲突,同本地冲突解决方案。
跨团队协作
- fork到自己的repository
- 本地修改
- 发起pull request
SSH免密
1 | # 生成公钥 |
- 在用户目录
.ssh
文件夹的id_rsa.pub
中