git代码管理学习文档

1.版本控制

每一版本都会发生变化

更新版本,回退版本

版本控制实际就是控制文件的变化

服务器端和每个人的电脑上都会记录版本的变化,也就是说整个团队都记录了版本的变化。

不需要连网,他是分布式的,在自己电脑上也可以操作。


2.安装和使用Git

查看git软件是否安装:在git命令行(打开方式->进入项目根目录->右键->git bash here)下执行

git --version

(单击右键,查看是否有gitbash命令)

  • 配置用户信息 用户名 电子邮箱(第一次使用的时候配置)

配置用户名称和电子邮箱地址,以在commit log中体现->表明这个文档这个项目是谁来做的。

修改:重新运行该命令

git config ---global user.name 'teduweb'

git config ---global user.email 'web@tedu.com'

  • 查看已有的git配置信息

git config --list

  • 进入项目文件夹,初始化git仓库(用来存储各个版本)

git init会生成一个.git目录(隐藏的),用于记录所有的版本

  • 查看当前工作目录的状态

git status

  • 往暂存区中添加文件

git add文件名称 添加个别文件

**git add .**添加所有文件到暂存区

  • 把暂存区文件添加到本地仓库

git commit -m '提交的说明'

如果项目中发生修改,再执行git.status

再次执行,git add. git commit -m 添加了新的版本

  • 查看提交的日志(记录提交多少次)

git log 查看当前版本以及当前版本以前的版本提交记录

git reflog 查看所有提交记录

  • 从本地仓库中回退到指定的版本(到工作目录中)

git reset --hard 提交的ID HEAD表示当前的版本

ID是一种编码的

  • 屏幕清除

clear

  • 忽略文件(不需要提交到本地仓库的文件可以忽略)

在工作目录下 使用编辑器创建 .gitignore文件(记录哪些文件不需要提交)

把不需要提交的文件或目录(结尾加/表示目录下的所有文件)添加到.gitignore中,就不再往git仓库提交,可以执行git.status查看是否要提交该文件,一般情况下,node_modules不需要提交到git仓库。

当 git add . 往暂存区添加文件,可以看到忽略该warning,这是由于虽然windows系统下操作,但是要按照linux系统标准来执行造成的。$ git commit -m'添加了包说明文件' 添加到本地仓库,即又一个版本。

  • 分支操作

如果想在主分支的基础上建立其他分支,必须把主分支先传入暂存区(git add .),再传入本地仓库(git commit -m '第一次提交' )。

git branch 查看当前所有分支

git branch 分支名称 创建一个新的分支,把当前所有的分支拷贝,作为一个副本。

git checkout 分支名称 切换分支

例如:

创建文件product.html商品模块

文件要提交到商品分支本地仓库(前提要切换到该分支下查看)

$git checkout product $git add . $git commit -m '商品模块开发完毕'

回到主分支下,工作目录里就看不见该文件,Product.html在商品分支下

  • 创建用户分支

1.先创建分支,再切换到该分支下

2.工作目录里创建html文件

3.分支下操作完看状态

4.提交分支

$git add .

$git commit -m '用户模块开发完毕'

5.查看

6.回到主分支下

git merge 分支名称 在当前分支基础之上,将另一个分支并入进来

git branch -d 分支名称 删除已经合并的分支

git branch -D 分支名称 强制删除分支,分支没有合并


3.远程仓库

Github全球最大的代码托管平台

网址:www.github.com

码云 国内最大的代码托管平台

网址:www.gitee.com

介绍:git的廉价平替 服务器在国内,运行不废劲,在国内也形成了一定的规模,git的一些项目插件在码云上可以找的到

(1) 使用gitHub 花钱不公开

注册

登录

先创建仓库

远程仓库地址:https://github.com/huwenhao006/mytedu.git

回到本地工作目录打开gitbash,推送项目到giHub

git push -u 远程仓库地址 分支名称 推送到远程地址

上传完成

团队协作:添加团队成员

邀请的用户登录个人邮箱,然后邮箱确认,就可以共同管理项目

(2)使用gitee 操作和gitHub一样,花钱不公开

注册

登录

新建仓库

填写仓库信息,私有依然收费

获取地址

git push -u 远程仓库地址 分支名称 推送到远程地址

输入用户名和密码

推送成功

如果验证密码写错,第二次推送是已经记录过的,还是推送不过去,怎么去改?

Window+R->control打开控制面板->用户账户,凭据管理器->windows凭据->普通凭证->删除


4. 团队协同

团队协作:添加团队成员

邀请的人登录码云,会看到私信里通知被邀请,接受邀请就能进入团队。

被邀请的人加入团队后:

1,本地新建目录,右击gitbash打开命令行

git clone 远程仓库地址 第一次下载下来

git pull远程仓库地址 从远程仓库拉取代码(其他时候需要远程仓库代码)

其他人也可以克隆,但是没有上传权限,团队成员可以上传

2.克隆下来以后,被邀请的人就能在项目的基础上进行开发,然后利用团队成员的权限 进行上传。

  1. 远程仓库和本地代码同步(配置公钥)

1.仓库与本地同步->建立公钥

为什么要建立公钥->公钥是你当前设备和网络仓库的通路

只要创建了这条通路,才能实现仓库和本地代码同步

2.把仓库同步到本地

  • 1.在gitee上新建仓库,进入需要同步的仓库,点击克隆
  • 2.点击复制ssh地址
  • 3.到需要同步网络仓库的本地位置,打开gitBashhere
  • 4.输入命令 git clone[复制的ssh地址]

3.在本地仓库中创建vue脚手架项目

  • 1.到本地仓库所在的文件夹中创建 vue create xxxx
  • 2.项目名称尽量和仓库名称保持一致(仓库名称不要有大写字母)

因为会提示:创建的项目文件夹已经存在,选择merge(合并)

4.把本地仓库中的项目同步到远程仓库gitee上

在本地项目中打开gitbush

gitstatus 看变化(不必要的操作)

gitadd . 把本地仓库变化的文件提交到暂存区

gitcommit -m '提交说明' 提交本地仓库

注释:提交说明写明所写代码的用处

gitpush 把缓存中的内容推到网络仓库中

5.git分支操作步骤

一、拉取IMDP_V100R001C00分支

1、新建一个目录,例如 d:/work/spms3.0/IMDP_V100R001C00,用于330版本修改bug

2、在这个目录下运行git bash

2.1 首先fork自己的私库:

git clone

如:git clone http://10.88.40.177:8099/306205/spms-integration-core.git

2.2 然后增加主库的信息:

cd

如:cd spms-integration-core

git remote add

如:git remote add upstream http://10.88.40.177:8099/spms-integration/spms-integration-core.git

2.3 然后拉取主库的分支:

git fetch

如:git fetch upstream

git checkout -b /

如:git checkout -b IMDP_V100R001C00 upstream/IMDP_V100R001C00

2.4然后上传到私库

git push origin

如:git push originIMDP_V100R001C00

这样私库中就会有这个分支了。之后330的bug修复就在这个目录下进行。

二、拉取dev分支

1、新建一个目录,例如d:/work/spms3.0/dev,用于dev分支的开发。

2、在这个目录下运行git bash

2.1 首先fork自己的私库:

git clone

如:git clone http://10.88.40.177:8099/306205/spms-integration-core.git

2.2 然后增加主库的信息:

cd

如:cdspms-integration-core

git remote add

如:git remote add upstream http://10.88.40.177:8099/spms-integration/spms-integration-core.git

2.3 然后拉取主库的分支:

git fetch

如:git fetchupstream

git checkout -b /

如:git checkout -bdev upstream/dev

2.4然后上传到私库

git push origin

如:git push origin dev

这样私库中就会有这个分支了。之后dev的开发就在这个目录下进行。

三、代码提交、推送和合并请求

代码提交和推送,都要按照当前分支进行,即: IMDP_V100R001C00分支只允许提交和推送到私库的IMDP_V100R001C00分支 dev分支只允许提交和推送到私库的dev分支

提交合并请求(merge request,MR)时,也要注意,私库的IMDP_V100R001C00分支只允许合并到主库的IMDP_V100R001C00分支,私库的dev分支只允许合并到dev分支。

主库各个项目的负责人(maintainer)要负责首先审核是否对应同样的分支,如果不对应则直接拒绝;然后再检视代码。

相关推荐
As977_8 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi11 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
Rattenking12 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js
dsywws34 分钟前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然040235 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
爱吃生蚝的于勒41 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
binishuaio1 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。2 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
cuisidong19972 小时前
5G学习笔记三之物理层、数据链路层、RRC层协议
笔记·学习·5g
南宫理的日知录2 小时前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习