Git使用命令(超详细)

Git使用(超详细)

github是一个远程仓库,代码托管平台,开源免费,我们可以把我们的代码工作空间存储到github上,这样就不怕丢失了,对于初学者,github的这项功能已经值得让程序员学习,而且他的功能远不只此,还包括版本控制,以及团队共同开发等,都是对程序员编程有很大帮助的。而git则是帮助我们远程连接操作仓库的客户端。

当初我之所以下定决心学好git命令, 是因为我当时敲了好久的一个飞机大战程序掉了,掉了,对于刚入编程的我的打击是沉重的,所以。。。。。好了让我们开始学习吧!

创建仓库

虽然git的原配是github,但是毕竟github是在国外,有墙的存在限制了网速,所以可以选择使用国内的码云,这个和那个github几乎是一样的,也是开源的,估计制作码云的初衷就是因为github是在国外网速不行。
这里我就github 和码云怎么创建仓库的都将一遍吧

我电脑的系统是manjaro的,和windows有点不太一样,但是命令什么的是应该没有区别的
github创建仓库(github现在电脑连接不上。。。不过和码云的原理一样,emm~不能FQ)
码云创建仓库

在这里插入图片描述在这里插入图片描述那里有个选择Private 或Public的,意思就是是不是开源,对于我们初学者来说都一样的,如果想分享我们的源码就选择public(一般也不会有人看。。)
然后直接点击new就创建好了
在这里插入图片描述创建好了现在是一个空白仓库。并且他给了你几个命令提示

git config --global user.name "G521"//名字
git config --global user.email "2997385765@qq.com"//邮箱

这些有什么用呢,其实这相当与你的身份,平时上传提交都会显示,如果几个人共同开发一个项目,每个人都会上传提交,然后每次提交都会附加上面的信息,然后就能知道是谁提交了什么内容。(简单来说就是登记一下身份,在github上操作就会保留你的登记信息)

mkdir Test0//创建你的工作目录
cd Test0 //进入你的工作目录
git init //初始化  把这个文件夹变成git专属文件夹  注意,git的命令只能在git专属文件夹中才能使用
//然后你的这个目录中就会多一个.git 文件夹(本地仓库),隐藏属性,一般看不到的。
touch README.md //创建一个新文件。(开始  工作敲代码了)
/**
*敲完代码,工作到一半或者完工,接下来就是保存到仓库
*/
git add README.md //先把要保存的文件添加到暂存区 (使用 . 代表全部文件 "git add .")
git commit -m "first commit" //提交到本地仓库 (应该是提交到这个文件夹的.git文件夹中了,注意这个.git文件夹尽量不要动)
/**以上内容都是不需要联网的,都在本地操作,接下来要上传到远程仓库了
*本地仓库就是保存在了本地的.git文件中,但是这样还不够安全,上传到
*远程仓库也就是我们刚才在码云上创建的那个仓库中,这样不管我们的电脑有啥问题都不用担心文件会找不到了
*/
git remote add origin https://gitee.com/zyx2997385765/Test0.git //添加远程仓库 (使用https方式,等会再细说)
git push -u origin master  //将我们本地仓库上传到远程仓库。(会提示输入用户名和密码 )
这样我们就把文件上传到远程仓库了

刚一接触可能觉得很麻烦。但是这只是刚开始的时候,以后我们敲代码什么的都在那个Test0中,然后每次想要保存只需要git add . ---- git commit -m’提交信息’ ------git push 就行了
这只是普通使用,接下来我们个部分细说一下

Git使用详解

配置ssh

创建仓库就不用说了。
先说一下连接远程仓库的两种方法吧。我们上面使用的是https方式,每次上传都需要输入密码,可以选择ssh方式。ssh方式配置对于新手可能看着比较麻烦,但是只要用的多了还是很好配置的。
在这里插入图片描述ssh和https使用的地址是不同的。接下来我们实际操作一下
首先要在本地生成ssh密钥。直接在git 窗口操作就行 输入命令:

ssh-keygen -t rsa

然后一路回车
在这里插入图片描述找到.ssh文件夹中的id_rsa.pub 打开,复制内容
在这里插入图片描述在这里插入图片描述在这里插入图片描述然后就可以使用仓库的ssh地址连接了。我们试一下
进入工作空间,(或者新创建一个文件夹)
进入之后

git init
git config --global user.name "你的匿名"
git config --global user.email "你的邮箱"
git remote add origin **ssh地址**
如果提示fatal: remote origin already exists.

说明已经连接到了远程仓库。
可以使用 git remote -v 查看
在这里插入图片描述
如果想要更换远程仓库可以使用git remote remove origin 删除
(那个origin 就是我们添加时候“git remote add origin ssh地址” 的‘origin’ 都是给远程仓库起的命令而已 )
也可以git remote add elseOrigin ssh地址

连接好远程仓库后
可以新建一个README.md 文件
这里说一下这个文件比较特殊可以被github/码云直接识别并展示
在这里插入图片描述可以介绍一下你这个仓库的内容什么的,方便别人了解。

接下来就是保存了

git add

***git add*** 文件名

如果添加后反悔了不想把某个文件add 进去。
使用命令git rm --cached 文件名 可以删除刚add进去的文件
另外git add 是把文件添加到了暂存区
使用git status 可以查看当前工作区和暂存区的不同
例如git add .
新建一个文件test.txt
在这里插入图片描述
显示test.txt 是红色,表示没有add

**git add test.txt** 添加 
**git rm --cached test.txt** 移除

git commit

**git commit -m'提交信息'**

这个提交信息还是有点重要的,特别是如果以后想要撤销回滚什么的就比较重要。

**git commit -am’提交信息‘** 如果没有创建新文件,只在源文件上修改什么的使用这个就可以省去**git add**

如果感觉刚才那个提交信息不对,想修改一下
方法一:

git commit --amend

在这里插入图片描述
(ctrl + x 返回)
方法二:

git commit -m“新的提交信息”
git rebase -i HEAD~n //把前n次的提交历史压缩为一个

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020022512033473.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzI5MjkzNA==,size_16,color_FFFFFF,t_70

git push

(ctrl + x 返回)
然后git push -u origin master
这是第一次提交 -u origin master 必须加上
之后提交就会默认为上面指定的origin仓库中的master分支

**origin**:是指仓库名。我们上面刚说过的,我们起的名字
**master**:分支名(先面细说)

如果git push 失败,可能是本地仓库和远程仓库不同步(本地仓库误删了什么东西导致的)
git pull 一下应该能解决问题,(把远程仓库拉下来同步)

分支

比如说我们最初一个源码是一个主干。
现在我们想增加功能,相当与给大树的主干增加一个分支
使用分支就可以每个人负责一个分支并且相互不影响。最后与主干合并,完成整个项目的开发

**git branch** :查看现有分支
加上参数 **-avv** 可以显示删除的分支,以及合并的分支(全部分支)
**git branch name** 创建新分支
**git checkout name** 切换分支   加上参数**-b** 先创建后切换。

我们现在master默认分支创建README.md文件
写入内容

git add READ.md
git commit -m''m"

在这里插入图片描述创建并且换新分支fix-A
在READ.me文件中追加内容
-fix-A-
在这里插入图片描述

git add READ.md
git commit -m'fix-A'

切换回master

 **git branch -** (-代表上一次的分支)

查看README.md在这里插入图片描述
然后合并分支

git merge --no-ff fix-A  然后输入合并信息

合并后查看README.md
在这里插入图片描述分支是一个很重要的内容,还需要多用用才能熟练

回滚

比如我们想给程序优化一下,结果优化半路发现不行,处理不下去了,想回到之前的内容那就需要回滚了
先git reflog 可以查看一下历史记录
在这里插入图片描述

前面那些字母和数字是哈希码,等会会用,后面就是一些提示信息,都是我们写的或者自动生成的,所以以后写提交信息尽量写清楚 ,不然回滚的时候就比较乱,比如我们想回滚到没有合并之前,
git reflog 显示的内容都是操作之后才有的,所以需要找前一个,比如“merge -b…" 是刚刚合并后,我们要合并前的,就找下面的那个ae6a24e

git reset --hard ae6a24e

然后提示 HEAD is now at ae6a24e m
现在我们就回滚到了合并之前。

git log 可以查看日志,和git reflog 有点类似,不过git reflog 显示的是所有历史记录
git log 是显示以当前为终点的记录,(比如我们的工作进展到4 ,然后回滚	到2 ,那么git relog 显示的内容到4 ,而git log 显示的内容只到2)

git log --graph 以图形化显示更直观

到这里,git 个人使用应该就差不多了,还有更多知识就需要自己努力去学了,大家努力啊git 真的很重要的,不要到时候代码掉了就晚了。。。

我的笔记:
在这里插入图片描述
其实如果英语好的话可以使用自带的-h提示
git -h 或者单独查询某个命令 git remote -h
单词也不是特别难,正好练练英语 ~

{
最后一个命令

git clone [https地址]

把别人的仓库克隆下来
在这里插入图片描述
}

Git入门与实践pdf(码云地址)

Git思维导图下载
有问题请留言哦——

posted @ 2020-02-25 14:02  G521  阅读(14)  评论(0编辑  收藏  举报