当前位置: 首页 > news >正文

使用GitHub进行版本管理

         在程序开发过程中,难免对代码进行无数次的修改。对于刚入门的程序员来说,版本控制是个什么东西,可能他们并不是十分清楚。

简单来说,版本控制就是能够在你每一次对代码进行修改时,帮你保存一个版本。这对于团队开发来说,是非常重要的。这里有一篇关于版本控制的入门文章: 版本控制入门(via cnbeta)

       Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不 太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。(via 百度百科)

      这篇文章我主要是介绍如何通过Git工具与Github网站上的代码进行同步:

1.首先,把Git工具安装到我们电脑上

Git工具官网:http://git-scm.com (墙内访问不了)

Windows平台下的Git工具:http://code.google.com/p/msysgit/

下载Git

clip_image001

下载完后,打开文件进行安装

clip_image002

clip_image003

clip_image004

clip_image005

2.设置SSH,GitHub可以使用SSH进行传输

首先打开终端

clip_image006

输入命令,打开ssh文件夹

cd ~/.ssh

生成SSH的公钥和私钥

ssh-keygen -t rsa -C "邮箱地址"

clip_image007

然后输入私钥密码

clip_image008

往GitHub网站添加SSH的公钥

在GitHub的accout setting里,点击Add SSH key

clip_image009

使用文本编辑器打开.ssh文件夹内的id_rsa.pub文件,将其复制粘贴到GitHub,然后保存

clip_image010

3.在GitHub建立一个项目的代码仓库

clip_image011

4.在本机新建一个初始化git,在项目文件夹右键,选择init here

clip_image012

5.添加远程资源

clip_image013

从GitHub读取项目的SSH路径

clip_image014

添加远程资源

clip_image015

6.从远程下载代码

从GitHub同步代码到Git仓库

clip_image016

将Git仓库代码同步合并至本地项目

clip_image017

7.将代码上传至GitHub

将所有文件加入到Git版本控制

clip_image018

提交代码到Git仓库

clip_image019

clip_image020

将Git仓库提交至GitHub

clip_image013[1]

clip_image021

至此,代码就同步至GitHub上了

转载

相关文章:

  • RAC 开启gsd和oc4j服务
  • 让LINUX发出声音
  • 如何在Linux单用户模式下修改fstab文件
  • Nginx+proxy_cache高速缓存配置
  • WIN7 共享网络方法
  • shell脚本编程基础
  • HDU-2059 龟兔赛跑 动态规划
  • 简述WebService与.NET Remoting的区别及适应场合
  • Java开源报表JasperReport、iReport4.5.1使用详解(二)
  • 本公司信息发布系统的优点
  • 判断元素是否可见的jQuery 新窗口打开图片
  • Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析【转】
  • Revit参数族之ZP系列消声器
  • 漫游Kafka设计篇之数据持久化
  • LVS+Keepalived实现高可用集群
  • SegmentFault for Android 3.0 发布
  • 3.7、@ResponseBody 和 @RestController
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • IDEA 插件开发入门教程
  • in typeof instanceof ===这些运算符有什么作用
  • Java IO学习笔记一
  • JavaScript 基本功--面试宝典
  • JavaScript 基础知识 - 入门篇(一)
  • Java知识点总结(JavaIO-打印流)
  • Laravel 中的一个后期静态绑定
  • NSTimer学习笔记
  • quasar-framework cnodejs社区
  • 关于extract.autodesk.io的一些说明
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 两列自适应布局方案整理
  • 面试遇到的一些题
  • 使用putty远程连接linux
  • 数据仓库的几种建模方法
  • 在weex里面使用chart图表
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (1)(1.13) SiK无线电高级配置(六)
  • (C#)获取字符编码的类
  • (java)关于Thread的挂起和恢复
  • (八)Flask之app.route装饰器函数的参数
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (未解决)macOS matplotlib 中文是方框
  • .equals()到底是什么意思?
  • .net framework4与其client profile版本的区别
  • .NET项目中存在多个web.config文件时的加载顺序
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • :O)修改linux硬件时间
  • @Responsebody与@RequestBody
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [C++提高编程](三):STL初识