Git&GitHub简介与入手(一)

一、Git版本控制

1、集中式版本控制工具:SVN(版本控制集中在服务器端,会有单点故障风险);

2、分布式版本控制工具:Git;

3、Git简史

Talk is cheap, show me the code.(Linus)

4、https://git-scm.com/ 官网下载安装git

(后面均使用默认设置);

二、Git&GitHub简介

1.Git的结构与GitHub的关系

2、Git&GitHub---本地库与远程库的交互方式

(1)团队内的合作

(2)跨团队协作

三、Git命令行操作

1、添加,提交

(项目级别信息保存位置显示)

(系统用户级别信息保存的位置);

(第二句表示本地库中没有东西,第三句表示暂存区中没有什么可提交的。);

(用vim thy.txt新建了一个文本文件)

(行末换行符进行改变,将文件添加到缓存区);

(文件已经添加至缓存区了,可用提示命令从缓存区撤回);

(git commit thy.txt提交之后,要求对这次改变输入提交信息);

(master根提交,“版本号”,一个文件,一行增加,创建了文件)

(缓存区中没什么提交的,工作树是干净的);

(对thy.txt进行了修改,用add命令更新到暂存区,或用checkout在你的工作目录里取消修改,暂存区中没没有可提交的修改,用add和commit添加到暂存区并提交,或直接提交);

(使用add后显示status,然后提交,加上-m可以不用进入vim编辑器写提交信息);

2、版本穿梭

(commit后面是这次提交的索引,经过哈希算法算出来的,head是指针,指向当前版本,版本穿梭就是移动改指针)

(三种查看历史记录,reflog能显示所有版本,oneline只能显示过去版本,索引号选中自动复制)

(前进后退都用这个命令)

(一个^表示后退一个版本,2个后退两个,一次类推,太多了可以用~3表示后退三个版本)

(用HEAD命令使三个区保持一致)

(找回永久删除的文件,回退到过去版本)

(冲突,当合并时,发现合并的两个分支被修改了同一个文件的相同位置,就会产生冲突,git不知道要保留哪一个,所以会产生人工合并取舍);

(哈希算法可以用来检验文件传输是否有损,哇,以前不知道还有这作用0.0);

(版本管理是用哈希将每次的提交生成相应的哈希值,然后版本的管理就是一条链表,然后指针在上面移动。)

(创建分支其实是创建一个指针,而不是真的将文件再复制一遍,分支的切换是移动head指针,所以效率很高!)

原文地址:https://www.cnblogs.com/Cloud-king/p/10320403.html

时间: 2024-09-30 10:42:52

Git&GitHub简介与入手(一)的相关文章

GitHub 简介与优势

GitHub 简介 Git 是一个优秀的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容.在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操作.分布版本控制系统不需要一个集中式的代码仓库. GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub. GitH

[Git/Github] ubuntu 14.0 下github 配置

转载自:http://www.faceye.net/search/77573.html 一:创建Repositories1:首先在github下创建一个帐号.这个不用多说,然后创建一个Repositories.2:然后在ubuntu下安装git相关的东东: 1 sudo apt-get install git-core git-gui git-doc -y 3:在ubuntu本地创建一个ssh密匙: 1 ssh-keygen -t rsa -C "[email protected]"

Git&GitHub

Git&GitHub 1.版本控制工具应该具备的功能 协同修改 多人并行不悖的修改服务器的同一个文件 数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态 状态管理 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间提高运行效率.这方面SVN采用的是增量式管理的方式,而Git采取是文件系统快照的方式. 权限控制 对团队中参与开发的人员进行权限控制 对团队外开发贡献的代码进行审核--Gti独有 历史记录 查看修改人.修改时间.修改内容.日志信息. 将本地文件恢

GIT & GitHub 学习笔记

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活, 干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网 速慢的话,就纳闷了. Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑 上.既然每个人的电脑都有一个完整的版本库

Git & GitHub

Git & GitHub 01.创建GitHub账号 请点击标题链接,阅读官网帮助 02.创建代码仓库 请点击标题链接,阅读官网帮助 03.安装Git 注:Git官网下载太慢,可在[360卫士]-->[软件管家]中搜索下载 04.打开Git命令行 在代码存放目录[鼠标右键]-->[Git Bash Here] 05.配置Git git config --global user.name "name" git config --global user.email &q

[git] github 使用简单记录

前提 :1. 已有 github 账号.2. 已安装 git .3. 在 github 和 本地 git 客户端交互秘钥.(这步我记得需要做,有点久远,不确定.) 正文: 下面是一个简单的例子.先在 github 创建新的库,在本地拉取 github 的新库,将需要需要上传到 github 的文档放到本地库,然后通过 git 上传到 github 上面.具体步骤如下: 1. 在 github 上面创建一个库. 点击 repository 界面的 New 按钮,然后填入 Repository na

git/github运用

了解git和svn很久了,但是一直没有拿来做过版本控制管理,虽然svn有用到过,但是觉得还是运用git的比较多吧,尤其github. Git术语                                                                       术语 定义 仓库 一个仓库包括了所有的版本信息.所有的分支和标记信息. Repository 在Git中仓库的每份拷贝都是完整的.仓库让你可以从中   取得你的工作副本.   一个分支意味着一个独立的.拥有自己历史

三十四、git rm简介

本文翻译整理自:http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-rm.html 在git中我们可以通过git rm命令把一个文件删除,并把它从git的仓库管理系统中移除.但是注意最后要执行git commit才真正提交到git仓库 示例1 git rm 1.txt 删除1.txt文件,并把它从git的仓库管理系统中移除. 示例2 git rm -r myFolder 删除文件夹myFold

三十五、git commit简介

翻译整理自: http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-commit.html 在用git来进行版本控制时,我需要执行git commit命令,将索引内容添加到仓库中. 示例1: git commit  -m "提交的描述信息" 如果我们这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息 可能一天下来,你对工作树中的许多文档都进行了更新