git版本控制介绍与使用(含github)

本文介绍了版本控制的基本概念,探讨了版本控制工具的发展历程,特别是Git的诞生背景及其原理。文章详细讲解了Git的基本操作、分支管理和冲突解决方法,并演示了如何使用GitHub进行项目协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 版本控制介绍

1.1 定义

版本控制是对软件开发过程当中的各种程序代码,配置文件,说明文档等文件变更的管理,是软件配置管理的核心思想之一。

1.2 原由

编写一个成熟可用的程序是一个工作很大的工程,不是我们或一次性可用搞定工作,所以在开发过程当中,有以下特点:

多人协作:UI、前端、后端、数据库、运维

1.3 版本迭代

针对当前代码进行修改和升级,通过几次迭代,达到预想的目的

1.4 版本控制工具

1.4.1 分类

CVS 是一个c/s结构的版本控制软件,主要用于开源的软件管理,是多个开发人员通过一个版本控制中心系统来记录文件版本,从而达到保证文件同步的目的,是一种很古老的集中式版本控制工具。

SVN 也是集中式版本控制工具,他是最优秀的集中式版本控制工具。

GIT 是一个分布式的版本控制工具

1.4.2 区别

(1)集中式版本管理工具

缺点:代码集中于SVN服务器上,一旦发生问题,很难挽回

优点:代码集中于SVN服务器上,不会发生个别新手污染代码的情况

 

(2)分布式版本控制

1.4.2 版本控制常用名词

拉取 pull 从服务端下载代码

提交 push commit 提交代码

合并 将两份代码进行结合

冲突 两个开发版本对同一个文件有不同的修改,这时合并会有 冲突

描述 所有提交的版本都必须有详细的版本描述,内容比如:

时间:提交人:提交的功能

回溯 进行版本内容的回滚。

1.5 git的发源

git的作者是linux之父linus torvalds。

 

 

 

在起初,linux开源项目的代码是有linus本人通过linux命令diff和patch两条命令手动完成,后来项目越来越大,代码库让linus疲于奔命。Bitkeeper公司的东家BTMover出于人道主义(bitkeeper是一款收费的版  本控制工具),授权linux社区免费使用,但是Linux社区的大佬有一些江湖习气,开始破解bitkeeper,samba的作者andrew破解成功了,但是被BTMOver公司发现,收回免费使用权,要求linus道歉。linus闭关一周,写出了git,在一个月,git成功接管了Linux社区的版本控制工作,并且开始开源。

1.6 git的原理

Git分为本地库和远程库。

我们提交代码的步骤

2 Git基本操作

2.1 安装

(1)通过官网下载git的安装包,git官网地址: https://git-scm.com/

 

 

 

 

 

(3)下载完成得到exe文件,双击运行安装

 

(4)安装完成之后,在windows下的任意目录右键可以看到git的命令行

2.2 基本使用

(1)git bash执行linux的命令

(2)git 需要把当前的目录转换为git目录

git init 初始化一个git目录

(3)创建git项目提交身份

  1. 配置局部身份

git config user.name laobian 设置提交名

git config user.email laobian@qq.com 设置提交邮箱

cat .git/config 查看局部提交身份

  1. 配置全局身份

git config --global user.name laobian 设置全局提交名

git config --global user.email laobian@qq.com 设置全局提交邮箱

cat ~/.gitconfig 查看全局提交身份

  1. 就近原则:有局部用局部,没有局部用全局,二者不可以都没有

(4)查看当前版本的状态

git status

未提交状态

(5)将文件提交到缓冲区并查看没有提交到本地库的状态

(6)提交文件到本地库

git commit 1.txt

 

(7)git commit -m “描述” 文件 提交指定文件(和步骤6任选一种提交)

git commit -m “描述” 提交当前缓冲库当中的所有文件

提交完成的状态

(8)查看详细版本信息

(9)列表性展示版本信息

 

 

3 指针(HEAD)和分支(branch)

3.1 概念介绍

指针:用来指向某个版本的记录

分支:一个独立的开发路线。

3.2 建立和使用分支

(1)创建分支

项目创建之初就有一个分支(branch) master,但是我们还可以创建新的分支

git branch 分支名称 创建分支

(2)查看分支

git branch -v

 

(3)切换分支

git checkout 分支名称

(4)合并分支

git merge 待合并分支名称

(5)合并冲突

冲突的文件里面展示的冲突的内容

 

解决完冲突内容进行一次提交,当次提交不指定具体提交的文件名称

 

3.3 解决冲突的步骤

解决冲突的步骤

进行合并

进入冲突文件,进行手动的代码调整

进行add将冲突文件添加到缓冲区

进行commit提交,注意不要指定具体提交的文件名称

冲突解决完成

4 Github的使用

4.1 官网

https://github.com/

4.2 注册流程

 

 

4.3 使用

(1)搜索git项目

(2)以压缩的形式下载

(3)克隆项目

(4)创建版本仓库,也就是项目的远程库

(5)上传

首先关联本地库

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6)测试和github的通信

4.4 协作

4.4.1我们要加入大牛的项目fork模式

(1)找到项目,进行fork

 

(3)获取项目完整的源码

git clone自己账号的项目

(4)修改源码

(5)申请提交源码

 

 

(6)等待大牛允许分支

4.4.2 我们要合作开发一个项目

(1)进入设置

(2)点击collaborators(合作者)

(3)点击右下角add collaborators

(4)将生成的连接复制

 

(5)用另一个账号打开当前的连接,点击接受

4.4.3 团队模式

(1)进入设置的organizations

 

 

(2)创建团队

(3)邀请成员

 

4.5 和pycharm与git的通常用法

Ctrl+k  等于命令行add+commit命令

Ctrl+shift+k 等于命令行的push命令

 

5 拓展GITLIB的搭建

5.1 简介

gitlib 自己的git管理工具。

5.2 Centos7 搭建gitlib服务器

(1)安装依赖包和wget

yum install -y curl policycoreutils-pythonopenssh-server

Yum install -y wget

(2)准备工作ssh、防火墙、Postfix服务处于开启状态

(3)下载gitlib的安装包

Wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

(4)安装:

(5)修改配置文件

(6)重新加载配置文件 gitlab-ctl reconfigure

 

(7)重启服务 gitlab-ctl restart

(8)关闭防火墙

(8)访问刚才绑定的ip和端口,默认端口 80

6 fetch步骤

提供资源git

https://github.com/bianjhpython

获取资源git

https://github.com/PythonBian

 

首先pythonbian通过地址找到bianjhpython 进行fork

Python边选择fork  bianjhpython的项目

Pythonbian有了bianschool项目

克隆自己的git上的fork的库,而不是源git的库

这个时候源发起了更新

查看分支

查看别名

当前origin映射自己的git库

创建一个新的分支,用来合并源git的master分支

创建一个新的别名,用来执行源库

在master使用new_name别名fetch源库的master到本地new

6、将本地new分支上获取的内容merge到master上

将修改的master提交到自己的git fork的库上,用来保持一致

 

Git push 别名 分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值