Git学习记录2
2017-06-08 本文已影响0人
glennut
0x01
首先,在自己本地git版本控制的那个文件夹里,所谓的版本库是什么?
文件夹中的.git/,就是版本库。
这个版本库里面包含了一些什么呢?
- HEAD指针
- 暂存库(stage)
-
master分支
.git/内的文件
这里就可以很科学的解释,文件修改后提交到版本库,为什么有add和commit两个步骤了。
add: 把文件从你本地,加入到暂存库中
commit: 把暂存库中的所有文件,提交到master分支中
0x02
其实,通过记录1中的几个简单命令,对于查看版本状态已经完全够用了。剩下的就是,管理修改,撤销修改什么的。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
想要记录的其实是删除文件。
毕竟增删改查,it四大件对吧哈哈哈。
删除,一般在系统里面,就是rm命令了。
- 在本地的工作区,通过rm命令删除文件
- 确定要删除这个文件,使用 git rm filename命令,从版本库删除该文件
- rm和add一样,做了什么事情,都得commit一下,汇报上级领导
git commit -m "delete a file"
0x03
ssh配置
- 先在本机的主目录下面找找看有没有.ssh/这个文件夹;
- 如果有,查看这个文件夹中是否有id_rsa和id_rsa.pub这两个文件
- 如果没有的话,执行以下命令:
$ ssh-keygen -t rsa -C "youremail@email.com"
- 登陆你的Github,点击右上角头像,点击进入settings-->SSH and GPG keys。
在ssh keys里新增一个key,将你的id_rsa.pub文件中内容拷贝过去
然后你在本机上执行
$ ssh -T git@github.com
如果你能看到你自己的用户名,说明配置成功
ssh提交
- 在Github页面上新建一个Repository,刚新建是一个空项目
- 在本地你准备提交到Github上的工作区执行命令:
$ git remote add origin git@github.com:yourusername/learngit.git
- 执行了2中的命令后,再将本地代码文件推送到Github上:
$ git push -u origin master
首先,push顾名思义;origin是远程库的名字,不用改;master指的是分支,将文件是推送到master分支上的
现在你打开你的Github web页面,看到这个新建的仓库,跟你本地工作区内容就一致了!
ssh clone
简单的说就是怎么把Github页面上的项目搞到本地工作区来。
$ git clone git@github.com:yourusername/yourrepo.git
执行clone命令,本地工作区就会有一个跟你Github页面上完全一样的仓库了