前言
前面只是大概的介绍了一点基础的东西,接下来会更加深入的去了解一下 Git。
1)工作区
在 PC 中能看得到的创建的一个管理仓库的目录。比如目录下 GitTest 里的文件 (.git 隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
2)版本库(repository)
工作区有一个隐藏目录. git,这个不算工作区,而是 Git 的版本库。
Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index)的暂存区,还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个
指针叫 HEAD。
3)联系
在初始化 git 版本库之后会生成一个隐藏的文件 .git ,可以将该文件理解为 git 的版本库 repository,而我们自己建立的项目文件夹即工作区 working directory ,
在. git 文件夹里面还有很多文件,其中有一个 index 文件 就是暂存区也可以叫做 stage ,git 还为我们自动生成了一个分支 master 以及指向该分支的指针 head。
从图中可以看出来 respository 包括分支 master 和 stage, working diretory 可以理解为我们打开开发环境如 eclipse,里面的内容即工作区的内容,在工作区里面
有的代码以及配置文件等我们需要提交到版本库里面,最终是到了分支 master 上面,暂存区只是一个临时保存修改文件的地方。
前面讲了我们把文件往 Git 版本库里添加的时候,是分两步执行的:
第一步是:用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是:用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建 Git 版本库时,Git 自动为我们创建了唯一一个 master 分支,所以,现在,git commit 就是往 master 分支上提交更改。
4)编写一个 Demo
我们在 lance.txt 再添加一行内容为 eeeeee,接着在目录下新建一个文件为 fosun.txt 内容为 test,我们先用命令 git status 来查看下状态,如下:
现在我们先使用 git add . 命令把 2 个文件都添加到暂存区中,再使用 git status 来查看下状态,如下:
接着我们可以使用 git commit 一次性提交到分支上,如下:
注意:当在工作去修改了文件或者新建了文件没有加入到暂存区去时,使用 git status 显示的是红色的。加入到之后是绿色的了。
在了解之前,先注册 github 账号,由于你的本地 Git 仓库和 github 仓库之间的传输是通过 SSH 加密的,所以需要进行简单的设置:
1)创建 SSH Key。在用户主目录下,看看有没有. ssh 目录,如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,
如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
- ssh - keygen - t rsa–C"youremail@example.com"
id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥,可以放心地告诉任何人。
2)登录 github, 打开 "settings" 中的 SSH Keys 页面,然后点击 "Add SSH Key", 填上任意 title,在 Key 文本框里黏贴 id_rsa.pub 文件的内容。
然后
然后
点击 Add Key,你就应该可以看到已经添加的 key。
1)需求
我们已经在本地创建了一个 Git 仓库后,又想在 github 创建一个 Git 仓库,并且希望这两个仓库进行远程同步,
这样 github 的仓库可以作为备份,又可以其他人通过该仓库来协作。
2)首先,登录 github 上,然后在右上角找到 "create a new repo" 创建一个新的仓库。
然后
在 Repository name 填入 GitTest,其他保持默认设置,点击 "Create repository" 按钮,就成功地创建了一个新的 Git 仓库:
目前,在 GitHub 上的这个 testgit 仓库还是空的,GitHub 告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,
然后,把本地仓库的内容推送到 GitHub 仓库。
现在,我们根据 GitHub 的提示,在本地的 GitTest 仓库下运行命令:
- git remote add origin https: //github.com/zyh2017/GitTest.git
- git push - u origin master
把本地库的内容推送到远程,使用 git push 命令,实际上是把当前分支 master 推送到远程。
由于远程库是空的,我们第一次推送 master 分支时,加上了 –u 参数,Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,
还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在 github 页面
中看到远程库的内容已经和本地一模一样了,上面的要输入 github 的用户名和密码如下所示:
从现在起,只要本地作了提交,就可以通过如下命令:
- git push origin master
把本地 master 分支的最新修改推送到 github 上了,现在你就拥有了真正的分布式版本库了。
上面我们了解了先有本地库,后有远程库时候,如何关联远程库。
现在我们想,假如远程库有新的内容了,我想克隆到本地来 如何克隆呢?
举个简单的例子:
1)首先,登录 github,创建一个新的仓库 GitTest2
结果:
现在,远程库已经准备好了,下一步是使用命令 git clone 克隆一个本地库了。如下所示:
执行命令:
- git clone https://github.com/zyh2017/GitTest2.git
结果:
喜欢就 "推荐" 哦!
来源: http://www.cnblogs.com/zhangyinhua/p/8099185.html