Git环境配置
[TOC]
一、生成SSH密钥对
1. 下载并安装git
- 下载git: Git-Downloads(git-scm.com)
- 安装:具体安装过程不再赘述,有需要可以参考Git详细安装教程(详解 Git 安装过程的每一个步骤)
2. 运行git bash
3. 配置姓名和邮箱地址
git config --global user.name "firstname lastname"
git config --global user.email "xxx@163.com"
配置完成之后,win系统下会在C:/Users/Administrator/路径下生成".gitconfig"文件,后续也可通过直接编辑此文件修改姓名和邮箱地址;
4. 生成密钥(公钥和私钥)
ssh-keygen -t rsa -C "xxx@163.com"
keygen是秘钥生成(key generate)的意思,-t(type)是指加密类型是rsa,-C是指账户(Count)为"xxx@163.com",用户在github上面提交仓库时,会显示该账户;
执行指令过程中,根据提示需要输入"yes"和设置“私钥密码”;==私钥密码不设置的话可以直接回车,会有安全风险,若设置则每次访问远程服务器都需要输入密码对私钥进行校验,比较麻烦,建议用户自行选择==
以下是笔者生成的整个过程:
$ ssh-keygen -t rsa -C "xxx@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx_xxx@163.com
The key's randomart image is:
+---[RSA 3072]----+
| |
| |
| . |
| . . E |
| S =. . . |
| o Oo+. |
| oB+*o.o .|
| ++*O+o..*oo|
| o++*O= o+oB*|
+----[SHA256]-----+
运行完成之后,win系统中会在C:/Users/Administrator/.ssh/路径下生成两个文件:==id_rsa(私钥)==和==id_rsa.pub==(公钥);
想了解更多SSH和私钥、公钥相关内容可以参考这两篇文章什么是SSH?和id_rsa与id_rsa.pub文件详解;
二、github添加公钥
1. 复制公钥内容
- 添加公钥时,注意不要直接用编辑器打开==id_rsa.pub==文件,可以在git bash中运行指令进行复制:
windows:
clip < ~/.ssh/id_rsa.pub
macos:
pbcopy < ~/.ssh/id_rsa.pub
linux:
xclip -sel clip < ~/.ssh/id_rsa.pub
2. 添加到github
步骤
GitHub --> setting --> SSH and GPG --> New SSH key
title: 随便取个名字key:直接粘贴
三、连接测试
1. start git bash
run
ssh -T git@github.com
运行过程:
$ ssh -T git@github.com Hi user_name! You've successfully authenticated, but GitHub does not provide ell access.
出现上述打印信息说明访问成功!
另外,若生成私钥的时候设置了密码,这里会要求你输入私钥密码进行校验,以后每次访问都需要进行校验;
如果失败的话根据具体报错信息进行解决。
2. 其他参考文章
GitHub常见操作:生成ssh公钥,clone,push_github使用秘钥push项目
解决git@github.com: Permission denied (publickey). Could not read from remote repository
四、git指令学习
1. 基本操作
# 新建路径(文件夹)
mkdir repo_name
# 切换路径
cd ./repo_name
# 初始化本地仓库
git init
# 查看仓库状态
git status
# 创建文件 查看文件/路径的时间属性,不存在则创建空白文件
touch readme.md
# 向暂存区添加文件
git add readme.md
# 提交,即记录工作树中所有文件的当前状态
git commit -m "add new file readme.md"
# 查看日志
git log
# 只显示第一行日志
git log --pretty=short
# 只显示指定目录的日志
git log readme.md
# 只显示指定文件提交带来的改动
git log -p readme.md
# 查看工作树和暂存区的差别
git diff
# 查看工作树和最新提交的差别,HEAD指的是当前分支最新一次提交的指针
git diff HEAD
一个好习惯:
在执行git commit之前,先执行git diff HEAD命令,查看本次提交与上次提交之间有什么差别,确认完毕之后再进行提交。
2. 分支操作
# 显示分支预览
git branch
# 新建分支
git branch branch_name
# 切换分支
git checkout branch_name
# 新建并切换分支
git checkout -b branch_name
# 合并分支branch_name到当前分支
git merge --no-ff branch_name
# 以图表形式查看日志
git log --graph
# 查看当前仓库相关操作日志(获取哈希值)
git reflog
# 回溯到某一版本
git reset --hard hash_value
# 修改“提交信息” : 须学会vim操作
git commit --amend
3. 更改提交
4. 推送
5. 获取
未完待续......