GitHub
一.创建仓库
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137628548491051ccfaef0ccb470894c858999603fedf000
1.1.准备工作
创建版本库之前先安装GitHub,安装流程一路确定下去就行。
为了后续的使用方便,首先去github官网注册一个账号。
(具体流程百度)
1.2创建仓库的流程
$ git config --global user.name=”用户名”
$ git config --global user.email=”邮箱”
对应的是你在github 官网注册的用户名和邮箱
创建版本库之前,首先找到一个空文件夹(具体在何处无所谓,但路径中不要有中文出现)
$ cd xxxxx 表示选择该目录
创建版本库
出现该条语句说明创建成功已经将该目录更改为git可以管理的目录
此时该路径下会有一个.git的隐藏文件夹出现
1.3添加文件进入仓库
先向仓库的路径下添加一个文件
此时login.html为红色说明有新文件未被提交
$git status 查询工作区的状态
添加后
提交
$git commit -m“注释”
这个时候我们更改login.html文件
再次查询状态
查询修改的地方
在这里可以看到前后两版的不同,根据需求判断是否添加提交
添加完成之后的仓库状态
提交
二.版本回退
之前我提交过两次login.html文件,但是如果我提交了同一个文件成百上千次就可以在git中用$git log来查看
或者$git log --pretty=oneline查看
版本号 注释
返回上一个版本$ git reset --hard HEAD^
返回上上一个版本$ git reset --hard HEAD^^
返回100个以前的版本$ git reset --hard HEAD(100^)或HEAD~100
再次查看版本
之前的版本不见了,在查看文档
文档也回退了
若此时我想回到回退之前的版本,只需知道之前的版本号就行
1.当该窗体未关闭只用往上翻就可以找到以前的版本号
2.若该窗体关闭,$ git reflog 可以查询你发布过的命令
知道版本号后
又回到之前的版本
三.工作区和暂存区
工作区指的是电脑上能看到的路径,例如创建的仓库就是一个工作区
而仓库中的隐藏文件夹.git 不属于工作区而是git的版本库
版本库中有很多东西,其中就有暂存区称为stage(或者叫index),
还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,用来存储提交修改的文件
而 git add是将文件提交到index(暂存区)中
Git commit 是将更改提交到分支中(且是一次性将暂存区所有文件全部提交)
四.撤销修改
撤销修改分为两种情况:
1.对工作区的文件做出了修改但还没有将文件提交到暂存区中
利用$git checkout --文件名来撤销修改
2.对工作区的文件做出了修改并且将修改后的文件提交到了暂存区中
我已经将文件提交到了暂存区中了才发现修改的有错误.
但是检查文件发现修改也没有被撤回.
于是可以判断撤回修改只对没有提交到暂存区中的文件有用
所以就可以先将该文件进行版本回退后在撤回修改
3.不仅将修改后的文件添加到暂存区中,还提交到了版本库中就需要将版本回退和撤销修改结合使用了
首先:进行版本回退
然后:撤销修改
五.远程仓库
5.1添加远程仓库
5.1.1配置github密匙
输入cd ~/.ssh查看是否存在密匙
如果有密钥调到下一步.如果没有
输入$ ssh-keygen -t rsa -C "邮箱名" 然后一路回车,使用默认值即可
创建成功后
5.1.2打开.ssh目录下的id_rsa.pub复制文件的内容,登陆github官网,
创建密钥是为了让github知道向他提交的文件是谁提交的,而不是别人提交的,且别人是不能更改删除你的文件的
5.1.3 创建一个仓库
输入仓库名就可以创建一个仓库了
5.2 关联远程仓库并添加文件
创建远程仓库后点击仓库
目前,在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库
5.2.1将本地仓库与远程库关联
然后你在github网站上的Stade的远程仓库里就有了刚才提交的文件了.
$git push -u origin master :由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
$ git push origin master
5.3 克隆分支
$ git clone git@github.com:git账号/远程库
克隆后文件在你本地的本地仓库中
六.分支管理
6.1创建分支与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>