【Git】学习开始
转载:https://www.cnblogs.com/yangchongxing/p/10172683.html
在线电子书籍:https://git-scm.com/book/zh/v2
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
分布式版本控制系统(Distributed Version Control System,简称 DVCS)面世了。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
Git在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。
Git基础
1.直接记录快照,而非差异比较
2.近乎所有操作都是本地执行
3.保证完整性
4.一般只添加数据
5.三种状态
你的文件可能处于其中之一:
已提交(committed)已提交表示数据已经安全的保存在本地数据库中。
已修改(modified)已修改表示修改了文件,但还没保存到数据库中。
已暂存(staged)已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
仓库目录
Git用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作目录
是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区域
是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域
基本的 Git 工作流程如下:
在工作目录中修改文件。
暂存文件,将文件的快照放入暂存区域。
提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
公钥生成
$ ssh-keygen -t rsa -C "yangchongxing@126.com"
/用户/.ssh/id_rsa.pub 中生成了公钥
新建 Git 仓库
创建目录 $ mkdir ycx-new 进入目录 $ cd ycx-new 初始化git仓库 $ git init 新建文件 $ touch README.md 添加文件到暂存区 $ git add README.md 提交文件到本地仓库 $ git commit -m "first commit" 添加远程仓库 $ git remote add origin https://gitee.com/yangchongxing/ycx-new.git 关联并提交文件到远程仓库,第一次加-u参数以后不用加,直接git push origin master $ git push -u origin master
已有仓库
进入目录 $ cd ycx-exist 添加远程仓库 $ git remote add origin https://gitee.com/yangchongxing/ycx-exist.git 关联并提交文件到远程仓库,第一次加-u参数以后不用,直接git push origin master
$ git pull origin master --allow-unrelated-histories $ git push -u origin master