Git 基本知识
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库(就是下文中的github)
工作区
程序员进行开发改动的地方,是你当前看到的,也是最新的。
平常我们开发就是拷贝远程仓库中的一个分支,基于该分支进行开发。在开发过程中就是对工作区的操作。
暂存区
.git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp…),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的。
当你完成某个需求或功能后需要提交到远程仓库,那么第一步就是通过git add先提交到暂存区,被git管理。
本地仓库
保存了对象被提交 过的各个版本,比起工作区和暂存区的内容,它要更旧一些。
git commit后同步index的目录树到本地仓库,方便从下一步通过git push同步本地仓库与远程仓库的同步。
远程仓库
远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的。
小结
- 任何对象都是在工作区中诞生和被修改;
- 任何修改都是从进入index区才开始被版本控制;
- 只有把修改提交到本地仓库,该修改才能在仓库中留下痕迹;
- 与协作者分享本地的修改,可以把它们push到远程仓库来共享。
一. Git 安装
官网下载安装包:Git,运行安装基本一路默认即可。
二. 配置Git
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改,
Git可以通过以下命令实现环境配置:
$ git config
最需要配置的是用户信息,否则Git将无法使用:
(1).用户名称。
(2).电子邮件地址。
因为每次Git提交都引用这两个信息,用来标明谁提交了更新。
代码示例如下:
$ git config --global user.name "AuthorName"
$ git config --global user.email Author@email.com
(上面代码中的用户名和邮箱,自己设置,推荐和gitHub的用户名和邮箱相同)
需要说明的是:
- 如果采用global选项,那么标明此配置在整个当前系统用户下都有效,所有项目默认使用此配置信息。
- 如果采用local选项或者去掉global,那么标明只会在当前特定项目中采用这两个用户信息。
- 如果采用system选项,那么标明在当前设备操作系统都会采用这两个用户信息。
三. 注册GitHub账户
官网按提示注册即可:GitHub官网
四. 本地Git与远程GitHub仓库建立SSH远程登录协议(注册远程登录协议)
1. 通过本地Git软件生成SSH公钥
通过window下拉菜单找到Git bash,打开Git bash,输入下面的命令:
ssh-keygen -C 'your@email.address' -t rsa
(上面的命令中的 your@email.address 为你的邮箱地址)
然后它会要求你输入密钥文件存储位置,直接敲回车默认即可
再然后要设置密钥口令(两次输入确认即可)。如果你不想在使用密钥时输入口令,将其留空即可。(口令及密码,要记住以后往远程仓库上传项目,和同步远程仓库的项目都需要用到这个密码)
2.将SHH公钥绑定到gitHub账户上
可以在window用户目录下找到一个.shh文件夹
把文件夹下的id_rsa.pub文件用记事本打开,复制里面所有的内容,复制的内容即为key密钥。
登录gitHub账户,点击右上角头像边的三角, --> 点击settings
接下来找到 SSH and GPG keys 点击进去
点击右上角的New SSH key
然后在title随便输入,key栏粘贴刚才的密钥。
最后,在Git Shell下输入命令测试刚才的公钥是否认证正确。
ssh -T git@github.com
正确结果会显示:
Warning:Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Hi Flowerowl! You've successfully authenticated, but GitHub does not provide shell access.
warning 不用理会。
五. 本地仓库和远程仓库(GitHub)的上传与下载
登录gitHub账户,在主页找到New repository:
然后按页面提示创建即可。
接下来,在电脑上任意一个盘,创建一个文件夹,来作为你的本地仓库,打开文件夹,在文件夹内右键,点击Git bash Here,输入命令:
$ git init
会发现文件夹里多了一个.git文件,此时本地仓库已经初始化
可以将你的项目拖进来
输入以下命令:
$ git add .
(将工作区的所有文件添加到暂存区)
$ git commit -m “第一次提交”
(将暂存区的文件提交到本地仓库)
$ git remote add origin git@github.com:52luoshu/Image_Quality_Assessment.git
(让本地仓库和远程仓库建立联系)
$ git push origin master
(将本地仓库中的内容推(push)到远程仓库中,这时可能要输入密码,密码就是生产ssh密钥时候设置的口令)
再次刷新gitHub页面就可以看到上传的项目: