git安装和其正确的打开方式

最近看论文写一些笔记总是不是很舒服,图片上传图床总是很麻烦。然后搜了一些帖子发现使用picgo搭配github会很方便,于是又来看git,发现自己github密码是啥都忘了淦。。。就遑论git命令了,所以决定痛改前非,用这篇文章记录一下,以免以后再次尴尬。

git 安装和使用

git简介

git是一个分布式版本控制工具, Git把文件以快照形式存储,Git可以存储你之前的版本在你需要时候恢复使用,Git操作可以大部分在本地完成。这一点了解并不需要那么深入,我相信对于大部分人来说,github就是写完代码上传上去,然后可以从那里搜到很多代码的开源社区。大家或多或少都知道git的版本管理功能很牛逼,什么快照啊之类的。但是如果你不是远程多人办公,以及深度使用者,应该还是上传的本地调试好的代码然后不管了的居多。因此博客里面将尽量介绍一些浅显的用的着的东西。

git 前期安装配置

git安装 参考链接 https://www.jianshu.com/p/414ccd423efc
这一步过于简单,默认都会

github注册 github是一个代码托管平台,也就是你的代码可以给它管理。
首先注册github账号:https://github.com/join 过程就和普通的注册手续没差,姓名邮箱密码填完就能进入

点击头像》仓库》新建仓库

git和github连接

ssh密匙的设置和获取

检查电脑上是否已经有ssh密匙

运行 git Bash 客户端,输入如下代码查看文件:

$ cd ~/.ssh
$ ls

创建一个 SSH key

$ ssh-keygen -t rsa -C "your_email@example.com"

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

github中设置里面ssh填入秘钥

将 ~/.ssh目录下的生成的pub文件中的内容复制,然后到github上》设置》SSH and GPG keys》新建ssh复制生成的公钥(pub文件内容) title自己命名就好

测试连接

在git bash中输入

$ ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

当然如果你密码输错了,会再要求你输入,知道对了为止。

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

注意:

这里ssh秘钥为一对,私钥在本地,公钥在服务器,只能一对一使用。如果多个账号也就是本地有多个私钥的话,需要对ssh进行管理,这里默认都是只使用一个github账号,而且默认是本地私钥是id_rsa。如果有特别要求查看ssh的管理方式,多个账号的设置

参考链接:

ssh配置 https://www.cnblogs.com/dumpling-z/p/11434105.html

ssh多个账号使用 https://blog.youkuaiyun.com/wwmusic/article/details/51027458?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control

git基本功能

服务器和本地连接上之后当然是要进行代码托管了,这里介绍最基本的一些代码指令。

git基础知识

git分为本地库、远程库。

本地库:本地的仓库,和远端的github没有半毛钱关系。它的作用只存在于可以保存代码的历史版本。

​ 你写代码的ide地方可以称之为: 工作区

​ 写完之后你觉得不错了,想保存一下这个版本,于是你借用git工具来进行快照管理。

​ 首先你得把代码加到git中去,你可以理解为导入当前版本代码 这时称为暂存区

​ 然后给你一次犹豫的机会,你觉得ok了,就提交代码,于是保存了快照 这时就称为本地仓库

​ 某天你觉得代码不太行,爷要重新写,于是你得重复上面的步骤,这就完成了版本管理更新。

用下面一张图来说明:

仓库说明

远程库:远程库和本地库相对应,是在 GitHub 上建立的仓库。在本地库的文件push进远程库,远程库的文件通过clone到本地库。简单理解就是个上传下载功能。

git 基础知识操作

基础知识包括 使用git管理本地文件 上传文件到github

1 建立git本地仓库 新建文件夹或任意文件夹》右键 git bash here 》输入 git init 》看到文件夹下面.git文件

2 设置签名(本地管理签名,类似于你window的用户身份和管理员身份设置)

​ 签名分为系统签名和项目管理签名

​ 项目签名:在当前仓库有效 系统签名:全局有效 一般而言无特殊要求直接使用系统签名

 git config --global -l //查看用户
 git config --global user.name lihua
 git config --global user.email lihua@163.com //设置全局用户名和邮箱,与github无关
 //项目用户级别设置只需要去除关键字global

3 查看状态 git status 查看本地仓库当前状态

4 添加提交命令 (本地库保存代码)

添加文件 git add [file name] 将工作区的文件添加到暂存区
提交文件 git commit -m “commmit message” [filename] 将暂存区的内容提交到本地库

具体操作:

在文件加下面新建文件a.txt》git bash here 》git status 红色表示修改未进入暂存区 》git add a.txt 》git status 绿色表示暂存区》git commit a.txt 进入commit页面 vim编辑器输入提交说明退出(不会使用vim编辑器建议使用上面-m参数)》git status 没有修改文件和暂存文件

以上步骤即完成了本地库的一次更新

随之而来的问题:如何批量提交代码文件?

方法一 git add 添加多个文件,文件之间以空格隔开

git add file1 file2 file3

方法二 多次git add

git add file1
git add file2
git add file2

方法三 添加指定目录下的文件
config目录下及子目录下所有文件,home目录下的所有.php文件

git config/*
git home/*.php

方法四 git add . 添加所有的文件, 或者 git add --all 添加所有的文件

git add .
git add --all

方法五 git add 文件夹

git add dir_name

5 git 版本管理

查看历史记录

git log 查看log
git log —pretty=oneline  单行查看 log
git log --oneline   单行查看log
git reflog  显示当前head指针位置

版本前进后退

git reset --hard [索引值]  跳到某一个版本
git reset --hard HEAD^ 后退一步
git reset HEAD~n 后退n步

hard: 在本地库移动指针,重置暂存区和工作区
mixed: 在本地库移动指针,重置暂存区
soft: 在本地库移动指针,对于其他不做操作
索引值:版本哈希索引值,git log可以查看到

实际操作:

新建b.txt》add commit 重复之前步骤》 git log (查看日志) 有两次记录》git reset --hard(第一次索引值)》回到文件夹 发现b.txt已经被删除,本地库重置 》git log 第二次提交记录没了(其实并不是没了,使用 git reflog命令试试?)

重复上述步骤分别体验 soft 和mixed 的参数的作用 (查看工作区文件状态 log状态)

6 git 文件找回

使用hard参数会把工作区的文件给删除,其实并没有删除,毕竟我们用的是git版本控制工具,要是删除了,要这git有锤子用

git reflog 命令配合 git reset命令切换快照自然文件就回来了

7 本地远端互连

1)创建远端仓库 登录github新建仓库 在下载code处可以查看远程仓库的地址

2)建立本地与远端连接

git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址] //远程地址为上面查看的地址,别名自己随便取,目的是免除后面打地址 

3)推送

git push [别名] [分支名] //别名就是前面取的别名,分支名是github上的分支名,一般使用main就好

4)克隆

git clone [远程地址] //复制远程地址的文件到本地库
git 高级功能

git 高级一些的功能主要为 分支理解、fork理解 pull理解

这些命令在单人的时候一般不会用到,只有在多人协作时候才会经常,这里的高级也可以理解为不常用

主要列一些命令,因为用不到 留待后面用到了再更新

分支创建:git branch [分支名]
查看分支:git branch -v
切换分支:git checkout [分支名]
合并分支的步骤:首先切换到被合并分支,执行 git merge [分支名] 合并

拉取:pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]

github上面的fork操作相当于复制别人的库到自己这,如果要修改别人的东西并提交,就涉及到了跨团队合作的相关操作,基本用不到。

参考廖雪峰网站分支管理部分:https://www.liaoxuefeng.com/wiki/896043488029600

git GUI使用

上述所有操作都是在git bash 中通过命令行操作进行的,但是git还有一个GUI的功能,对于新手来说也是比较友好的。

首先还是新建文件夹,然后Git bash 上面进行 git init 然后右键 git GUI

接着参考博客:

https://www.runoob.com/w3cnote/git-gui-window.html

github 配合picgo typora作为图床

github 作为一个服务端,虽然有所限制,但是基本上还是可以干服务器能干的事的,接下来介绍github如何搭配picgo形成自己的图床,这样就不用担心自己图片丢失了。

第一步 在github上新建仓库获取github的token

第二步 下载picgo安装 配置地址

第三步 在typora中进行偏好设置

这样就不用每次都上传图片了

参考链接:https://www.cnblogs.com/hshdexy/p/13590037.html

注意github现在的默认分支是main不是master

在github中只需要对本地图片进行上传操作

如果以前设置过图片显示比例之类的设置,上传之后图片可能会加载不出来需要删除相应css配置

github搭建个人博客

参考链接:https://zhuanlan.zhihu.com/p/91652100

暂时用不上,待更

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值