git学习总结

Git是目前世界上最先进的分布式版本控制系统(没有之一)

为什么会有版本控制系统?

大家在写论文的时候,都会碰到这样一个头疼的问题:在论文反复的修改过程中,你的电脑桌面上会有很多个论文版本,想删掉一些,但又怕哪天突然会用到,只好作罢。尤其是,当你把论文交给老师或者同学修改,若干天后,他们把改后的文章发回来,但是这期间你自己也做了一些改动,这时候你还需要自己手动把这些改动合并,基于手动管理多个版本的这种不便性,版本控制系统应运而生。

分布式和集中式版本控制系统有何区别

集中式版本控制系统,常见的有CVS和SVN,其版本库是集中存放在中央服务器的,工作的时候用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始工作,之后,再把自己的工作推送给中央服务器。
分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,虽然系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样工作,只是交换修改不方便而已。
简而言之,分布式与集中式的区别有:

  • 集中式版本控制系统必须联网才能工作,而分布式不必联网;
  • 集中式版本控制系统的中央服务器如果出了问题,所有人都没法干活,而在分布式中,如果github挂了可以重新建一个服务器,然后把任何一个人的仓库clone过去,因为分布式版本控制的每个节点都是完整仓库;

安装git

在Ubuntu上安装git非常简单,只需要下面一条命令足以

sudo apt-get install git

如果是别的系统,可以参照安装git.

git的基本操作

  • 配置git上的用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"

需要注意的是,git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。

  • 创建版本库
    第一步,先创建一个空目录
mkdir feilon
cd feilon

第二步,通过git init命令把这个目录变成Git可以管理的仓库

git init
  • 把文件添加到版本库
git add readme.tet
commit -m "wrote a readme file"

其中git commit命令中-m后面输入的是本次提交的说明,这样就能从历史记录里方便地找到改动记录。
Git添加文件需要add和commit两步,是因为commit可以一次提交很多文件,所以你可以多次add不同的文件。

  • 查看仓库的状态
git status

git status命令可以让我们时刻掌握仓库当前的状态,如果git status告诉我们有文件被修改过,此时可以用git diff查看具体的修改内容。

  • 创建与删除分支
    首先,我们创建miao分支,然后切换到miao分支:
git checkout -b miao

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

git branch miao
git checkout miao

删除分支miao的命令如下

git branch -d miao
  • 添加远程库
    第一步,需要在GitHub上创建一个与本地git仓库同名的git仓库;


    GitHub上创建新仓库

    第二步,关联远程库,在GitHub上创建好一个新仓库后,会出现如下页面:


    GitHub上创建仓库后

    我们注意到,GitHub给出的地址不止一个,实际上,Git支持多种协议,可以使用ssh,也可以使用https,但通过ssh支持的原生git协议速度最快。
    在本地仓库下运行如下命令,二选一即可:
git remote add origin https://github.com/zmfl121314/feilon.git

或者

git remote add origin git@github.com:zmfl121314/feilon.git

第三步,把当前分支master推送到远程

git push -u origin master

由于远程库是空的,第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令为:

git push origin master
  • 从远程库克隆
    第一步,先创建远程库;
    第二步,从远程库克隆到本地,同样的,在本地仓库下运行如下命令,二选一即可:
git clone git@github.com:zmfl121314/feilon.git

或者

git clone https://github.com/zmfl121314/feilon.git
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天开始学习git,摸索一天,记下若干要点,权当学习笔记,以备查漏补缺。 GIT配置 ** 安装 **window...
    风间莫一阅读 232评论 2 1
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,744评论 9 163
  • Git for windows 本文只是自己的一些学习总结,方便自己查看,如果对您阅读不适,抱歉!!! 常用命令(...
    Lxs_597阅读 365评论 0 0
  • 遇事心不定则乱,人家镇定自若,气定神闲如何修炼而成???
    阿影工作阅读 262评论 0 0
  • 来,小黄人,给大家道声晚安~古耐~!顺便补充一下,这小黄人是一个贵州大叔捏的。他失去了右腿膝盖以下的部分,为了谋生...
    只做自己的妞妞阅读 713评论 0 0