分布式版本控制系统Git(二):github

前言

但凡是喜欢研究技术,或者听大牛们说起过的,都应该至少是听过github这个东西。具体就不介绍了,不了解的可以去了解了解,最主要的功能当然是代码托管啦,上面有各种各样的大牛写的项目。另外这一章不仅仅是说明如果跟github关联操作,因为github是远程版本库,实际上在公司中,也只是先给你一个远程版本库的地址给你,你自己去克隆,然后开发,所以下面操作,可以跟公司远程版本库操作一致。

连接github

1. 当然是注册github账号了 https://github.com

2. 创建SSH密钥

打开Git Bash,输入下面的命令,然后一路回车

    ssh-keygen -t rsa -C ‘[email protected]‘       

接下来去C:\Users\Administrator,会发现多了一个.ssh的文件夹,生成的密钥就再这里面。

其中id_rsa是自己的密钥,id_rsa_pub是公钥,就是对外的密钥,把它提供给需要连接的一方,它添加这个进去之后,你就可以连接了。

3. github添加本地公钥

进入到github设置中,找到SSH and GPG Keys

将之前生成.ssh文件夹里面的id_rsa_pub用记事本打开,复制出来粘贴进去。

4. 测试连接

    ssh -T git@github.com

注意中间需要确认连接,输入yes,可以看到认证成功!另外在.ssh路径下生成了一个known_hosts的文件,里面内容是github的一些信息,标识已经与github建立连接,已经被识别。

本地–>github

也就是将本地的项目上次到github上面。

1. 首先必须得在github上面创建一个空项目。

2. 与项目建立连接,推送内容

添加成功后,可以看到如下界面,提示你怎么用命令去连接。

    git remote add origin [email protected].com:你github名字/testgithub.git
    git push -u origin master

// 添加远程版本库连接,然后将当前分支master的内容推送到远程版本库master分支

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

可以看到推送成功,github上面已经有了变动。

3. 修改文件推送到远程版本库github

首先可以看到,推送之后,两边的文件内容是一样的,现在我们修改本地的文件,再推送到github远程版本库。

修改本地文件。

然后需要进行以下操作

  • 添加到暂存区
  • 提交到本地版本库
  • 推送到远程版本库

提交推送之后,查看github的文件,发现已经成功改动,表示推送成功。

github–>本地

一、本地项目与github项目关联了之后

1. 修改github文件的内容,相当于别人修改了文件,提交到了远程版本库github中。

2. 拉取/pull远程版本库的内容

    git pull origin master                   // 拉取远程版本库master分支的内容

二、只有github项目路径的情况下

一般来说,新入公司,公司会你个远程项目版本库的git地址给你,你需要克隆一份项目到本地版本库。

克隆远程版本库到本地

    git clone [email protected].com:你github名字/testgithub.git

比如我再把远程版本库testgithub项目克隆到我的workspace中。

冲突情况处理

比如现在我在github上面修改了文件,然后再本地也修改了同一个地方,那么就会出现冲突的情况。

github:

本地:

注意:这里的本地代码已经commit提交到本地版本库了。

这个时候,如果本地push代码的话,会提示错误。

所以一般在推送push到远程版本库之前,先拉取pull一下远程代码库的代码。

可以看到a.txt文件有冲突,然后命令行进入到了MERGING模式,这个时候我们可以打开a.txt,把冲突的地方解决掉,然后把a.txt加入到暂存区,然后commit,然后push,就OK了。

时间: 2024-12-22 01:47:06

分布式版本控制系统Git(二):github的相关文章

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 http://www.cnblogs.com/yubinfeng/p/5182271.html 本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是

分布式版本控制系统---Git&GitHub

 GIT的起源 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具.开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可

分布式版本控制系统 Git 教程

目录   简介  原理  安装  配置  命令  小结  资料 简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布式版本控制系统前,有必要先了解一下传统的集中式版本控制系统. 集中化的版本控制系统,诸如 CVS,Subversion 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文

[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.html 前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为我们的代码管理提供了便利,本篇介绍一款思维方式完全不同(也可以说不合常理)的版本控制系统——Git.可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)

分布式版本控制系统GIT的使用

一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subversion等).而Git并不保存这些前后变化的差异数据.Git更像是把变化的文件作快照后记录在一个微型的文件系统中.每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引.若文件没有变化,Git不会再次保存,而只对上传保存的快照做一次连接,即若文件未变化则指向上

分布式版本控制系统--Git使用

前言 花了点时间,学习Git版本管理工具,以前用过SVN比较之后,确实Git比SVN好用,更强大.简单总结了一些Git使用命令,如果想弄明白Git请猛击底下推荐学习网站. 使用总结 创建版本库: 初始化一个Git 仓库,使用git int 命令 添加文件到Git仓库,分两步: 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件: 第二步,使用命令git commit,完成. 查看内容 要随时掌握工作区的状态,使用git status命令. 如果git status告诉你有文件被

分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

本篇导读: 可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)统一发布新版本.各个地区的开发者,还可以离线开发,这样版本管理系统之所以火,也和当今社会万众创新的氛围分不开.通过Git你可以尽情的发挥想象力,开源的春天已经到来,让我们启航吧!  1. Git简介 名称:Git (Git的读音为/g?t/,开源.免费.分布式的版

分布式版本控制系统Git的安装与使用

业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 远程仓库地址是:https://github.com/BinGuo666/git 1.下载安装配置用户名和邮箱. 2. 创建工作目录并通过git init命令把这个目录变成Git可以管理的仓库. ls -a 命令可以发现工作目录下多了一个.git的隐藏目录,该目录是Git用于跟踪管理版本库的,别手动修改.git里的文件,免得破坏了Git仓库. 3. 在工作目录下准备文

Git是目前世界上最先进的分布式版本控制系统

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