# Git 学习总结
# 使用 git 管理前的一些准备
# 配置本地 git 账号
git config user.name "zhangsan"
git config user.email "zhangsan@gmail.com"
# 本地生成 ssh-key
- 直接生成
cd
ssh-keygen
其中第一步的cd
是进入默认根目录, 然后一路按回车
选择默认项即可.
cd ./.ssh
ll
- 添加参数
-b 采用长度1024bit的密钥对,b=bits,最长4096,不过没啥必要
-t 加密方式,t=type
-f 生成文件名,f=output_keyfiles
-C 备注内容,C=comment
例如
ssh-keygen -t rsa -b 1024 -f yourkeyname -C "备注"
进入默认根目录, 然后进入.ssh
文件夹即可看到生成的两个密钥文件:id_rsa
(私钥), id_rsa.pub
(公钥).
// 打印公钥内容
cat id_rsa.pub
// 复制公钥文件内容到剪贴板
clip < id_rsa.pub
登录 github 账号, 在设置-ssh-key
中添加你的公钥
最后验证是否生效
ssh -T git@github.com
# 一些配置
- 禁用 windows 的
crlf
换行符
因为在线上仓库使用的linus
系统的换行符是lf
,windows 用的是crlf
.在拉取项目到本地会默认转化换行符.
git config --global core.autocrlf false
# 常用指令
- 初始化本地仓库
cd my-project
git init
- 克隆仓库
git clone <仓库地址(线上/本地)>
git clone <地址> <本地仓库新的名字>
git clone -b <指定要克隆的分支名> <地址>
- 工作区->暂存区
// 暂存个别文件,空格隔开多个文件名
git add <文件路径>
// 暂存所有修改的文件
git add .
- 暂存区->本地仓库
git commit -m "备注"
- 拉取线上新内容(尝试合并)
git pull <终端名称> <分支名称>
git pull origin master
git pull gitee my-branch
- 本地仓库->线上仓库
git push <终端名称> <分支名称>
git push origin master
- 查看关联的终端
git remote -v
- 查看修改历史
git log
- 将 A 分支的单个
commit
的内容合并到 B 分支
git checkout A
git commit -m 'a1 的内容'
git push origin A
git log
查看'a1 的内容'所对应的 id
git checkout B
git cherry-pick <id>
- 克隆项目
git clone <项目地址>
git clone -b <指定要克隆的分支> <项目地址>
git clone <项目地址> <重新命名文件夹>
# git 工作流
先水一波,后续更新