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
以上只是学习所做的笔记,以供日后参考!!!