Git基础(一)

git提交冲突解决命令:
git fetch --all
git reset --hard origin/master
git pull

0:Git Bash中的复制与粘贴

   Ctrl+ins  复制
   Shift+ins 粘贴

1:git初始化----git init

$ git init

这里写图片描述
该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

2: 把文件添加到版本库中

新建文件test.txt,添加内容:This is a test!
使用 git add 命令将文件添加到暂存区里面去

git add test.txt

这里写图片描述
使用命令 git commit将文件提交到仓库

git commit [options] ...
-m:指定提交的信息(描述)

这里写图片描述

使用git status查看在你上次提交之后是否有修改

git status
 -s 参数:以获得简短的结果输出。如果没加该参数会详细输出内容:

这里写图片描述
说明没有任何文件未提交;
修改test.txt,添加内容:1111111111;
再次使用git status查看:
这里写图片描述
告诉我们 test.txt文件已被修改,但是未被提交的修改
接下来我想看下test.txt文件到底改了什么内容,如何查看呢?可以使用如下命令:

git diff

这里写图片描述
知道了对test.txt文件做了什么修改后,我们可以放心的提交到仓库了:
这里写图片描述

3:版本回退

再次修改test.txt,添加内容:2222222222
这里写图片描述
现在我已经对test.txt文件做了二次修改了,那么我现在想查看下历史记录,如何查呢?

git log
git log --pretty=oneline   //行显示 

这里写图片描述
这里写图片描述
现在我想把当前的版本回退到上一个版本,要使用什么命令呢?

git reset  --hard HEAD^   //回退到上一个版本
git reset  --hard HEAD^^   //回退到上上个版本
以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:
git reset  --hard HEAD~100 

这里写图片描述
现在已经回退到第一个版本了,使用git log 来查看下历史记录信息:
这里写图片描述
现在我想回退到最新的版本该怎么做呢?我们可以通过版本号回退,使用命令方法如下:

git reset  --hard 版本号 

要如何知道各个版本的版本号呢?可以通过如下命令即可获取到版本号:

git reflog

这里写图片描述
现在我们可以根据版本号来回退到最新版本了:
这里写图片描述
查看内容可以发现已经是最新版本了:
这里写图片描述

4:撤销修改

现在在test.txt增加内容:3333333333
这里写图片描述
在我未提交之前,我发现添加的3333333333内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:

第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。

第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^

但是现在我不想使用上面的2种方法,我想直接想使用撤销命令该如何操作呢?首先在做撤销之前,我们可以先用 git status 查看下当前的状态。如下所示:
这里写图片描述
可以发现,Git会告诉你,git checkout — file 可以丢弃工作区的修改,如下命令:

git checkout -- <fileName>

这里写图片描述
命令 git checkout – test.txt 意思就是,把test.txt文件在工作区做的修改全部撤销,这里有2种情况:

  • test.txt自动修改后,还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态。
  • 另外一种是test.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

对于第二种情况,我们在test.txt增加内容:4444444444 ,并将test.txt增加到暂存区。然后再增加内容:5555555555,执行撤销命令让其回到暂存区后的状态:
这里写图片描述
注意:命令git checkout – test.txt 中的 – 很重要,如果没有-- 的话,那么命令变成创建分支了。

5:删除文件

现在我们在版本库GitRepository目录下新建一个文件a.txt,添加内容:aaaaaa;
这里写图片描述
此时有两个选择:

  • 直接commit掉,彻底从版本库中删掉此文件
  • 从版本库中恢复被删除的文件

只要没有commit之前,如果我想在版本库中恢复此文件如何操作呢?
可以使用如下命令 git checkout — a.txt,如下所示:
这里写图片描述

6:远程仓库

注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
**1:**创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:

格式:ssh-keygen -t rsa -C "your_email@example.com"
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。


ssh-keygen -t rsa -C "1790424577@qq.com"

运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码:

Generating public/private rsa key pair.
Enter file in which to save the key (/f/Users/yd/.ssh/id_rsa):

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。
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 /f/Users/yd/.ssh/id_rsa.
Your public key has been saved in /f/Users/yd/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0Oefj9eL4Kq47ZgyWB6nnwJalCCs0TbqpRaLpKuH0Oc 1790424577@qq.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。
这里写图片描述
这里写图片描述
测试一下该SSH key:
在git Bash 中输入以下代码:

$ ssh -T git@github.com

这里写图片描述
**2:**登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
3:连接远程仓库

git remote add origin  git@github.com:z1790424577/Demo.git

4:把本地项目推送到远程仓库

git push -u origin master 

这里写图片描述
如果出现这种错误:
在这里插入图片描述
先执行git pull命令再进行git push即可

git pull

或者也可以使用-f参数强制上传

git push -f  -u origin master

这里写图片描述
从现在起,只要本地作了提交,就可以通过如下命令:

git push origin master

把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。
5:Git 提示fatal: remote origin already exists 错误解决办法
这里写图片描述
先删除远程 Git 仓库

git remote rm origin

再添加远程 Git 仓库

git remote add origin  git@github.com:z1790424577/Demo.git

7:如何从远程库克隆?

这里写图片描述
使用命令git clone克隆到本地:
这里写图片描述
本地目录下生成了SpringCloudConfig文件
这里写图片描述

参考:https://www.jianshu.com/p/c372aaaf5b05
以上只是学习所做的笔记,以供日后参考!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值