破天荒 · 2023年04月05日 · 浙江

git入门教程

Git环境配置

[TOC]

一、生成SSH密钥对

仓库地址

1. 下载并安装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下载、安装及环境配置(超详细)

四、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. 获取

未完待续......

推荐阅读
关注数
9
文章数
6
FPGA攻城狮一枚~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息