版本控制Git和Gitee

一、git简介

SVN ==版本控制工具 [集中式的版本控制工具]

​ |——所有的文件由中央服务器管理

​ |——使用者必须能连接到中央服务器

GIT==版本控制工具[分布式版本控制工具]

https://github.com/ 全球最大的开源项目网站。

https://gitee.com/ 中国最大的开源项目网站。

二、git安装

1、下载:https://git-scm.com/downloads
2、打开git Bash设置全局身份
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
# 设置完成后会在用户文件下的`.gitconfig`文件中看到配置信息
3、创建版本库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

# 创建仓库
$ mkdir D:/git/repository
# 打开目录
$ cd D/git/repository
# 执行仓库的初始化命令
$ git init

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改个个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

三、基本操作

1、文件分三个区
  • 工作区
  • 暂存区
  • 分支
2、文件管理-添加文件
# 查看工作区的状态 ,如果出现working tree is clean 说明工具区里面的数据和分支的数据是一样的
$ git status
# 把文件提交到暂存区
$ git add 文件名1 文件名2
# 把当前分支的暂存的所有数据提交到当前分支,可随意填写批注信息,不填写会报错
$ git commit -m '批注信息'
# 查看当前文件和当前分支的文件内容的区别,如果没有区别就不显示任何东西
$ git diff 文件名
3、文件管理-撤销及版本回退

显示当前分支的文件的提交记录

# 显示当前分支的文件的提交记录信息
$ git log 文件名

文件在工作区【撤销】

$ git checkout 文件名

文件在暂存区【撤销】

# 修改了一个文件,并执行git add命令到暂存区了
$ git checkout 文件名

文件已经到了分支里面【回退】

# 修改了一个文件,并执行git add命令到暂存区,还执行git commit -m '批注'的命令
# 回退上一个版本
$ git reset --hard HEAD^
# 回退两次
$ git reset --hard HEAD^^
# 根据版本号回退,先查版本号执行:git log 文件名,版本号在commit这个键中
$ git reset --hard 版本号
4、工作区和暂存区

在这里插入图片描述

  1. 如果在仓库添加一个文件,默认在工作区
  2. 如果使用add之后是到暂存区
  3. 如果使用commit之后 是提交到当前分支
5、文件管理-删除文件

先删除的是分支里的文件,再进行提交一次,删除的是暂存区中的文件

$ git rm -rf 文件名
$ git commit -m '删除一次'
6、分支管理

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

    一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

在这里插入图片描述

    每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长:

    当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mFdJRW8T-1588668671702)(s/3.png)]

    Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

在这里插入图片描述

    假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

在这里插入图片描述

    所以Git合并分支也很快!就改改指针,工作区内容也不变!合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

在这里插入图片描述

相关命令

# 查看当前仓库的所有分支
$ git branch
# 在当前仓库创建一个名为dev的分支
$ git branch dev(分支名)
# 在当前仓库创建一个名为dev的分支并切换到dev分支
$ git checkout -b dev
# 切换到dev分支
$ git checkout dev
# 删除v1分支【先离开这个分支】
$ git branch -d v1
# 合并分支,先切换到需要合并其他的分支的那个分支
$ git merge 分支名

合并出现问题并解决问题步骤:

  • 先合并
  • 再手动解决问题
  • 再执行添加命令
  • 再执行提交命令

四、使用GitHub远程仓库

1、远程库存配置

A、第一步:创建SSH Key

    在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key。

$ ssh-keygen -t rsa -C "github上的注册邮箱"
一直Enter

    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

B、第二步:复制.pub公钥中的内容------->登录GitHub,打开settings,进入到SSH and GPG keys页面

  • 点击New SSH key
  • 输入title
  • 将复制的公钥添加到Key中
  • 点击Add SSH key

在这里插入图片描述

在这里插入图片描述

2、添加远程仓库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。

A、第一步:在GitHub上创建仓库

  • 点击New repository
  • 输入Repository name(仓库名)
  • 输入Description(备注)
  • 选择public(公有的)
  • 不勾选复选框
  • 点击Create repository

在这里插入图片描述

B、第二步:关联GitHub上创建的仓库

$ git remote add origin git@github.com:itan-yyb/myrepository.git (GitHub仓库地址)
# origin:默认远程仓库的名称

C、第三步:把本地仓库的数据推送到GitHub上

$ git push -u origin master(分支名)

D、第四步:在GitHub上可以查看刚推送的数据

3、从远程仓库克隆
$ git clone git@github.com:itan-yyb/myrepository.git(github上的仓库地址)

注意:默认的clone是把远程仓库里面的所有分支全部克隆下来,但是本地只会有master分支。

解决方法:创建分支并关联远程仓库的分支

$ git checkout -b 分支名 origin/远程仓库分支名

五、分支管理-多人协作

1、查看远程库的详细信息
# 要进入到本地仓库中才能执行该命令,否则报错
$ git remote -v   		(fatch代表有拉取文件的权限)(push代表有推送的权限)
2、拉取和推送分支
$ git push origin(默认的远程仓库的名字) 分支名(推送)
$ git pull origin(默认的远程仓库的名字) 分支名(拉取)
3、冲突问题

在不同的目录(A,B)下分别拉取同一个远程库,在A里面操作文件并提交 ,在B里面操作文件并提交 ,此时B提交时会出现警告,就是因为本地的基本仓库和远程库不一致,先更新(编辑B中文件)再推送。

六、使用码云

1、概述

使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的)。 如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——码云(https://gitee.com)。和GitHub相比,码云也提供免费的Git仓库。此外,还集成了代码质量检测、项目演示等功能。对于团队协作开发,码云还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。

2、使用

A、设置公钥,在设置中添加ssh公钥与git类似

在这里插入图片描述

B、创建仓库:在码云上创建一个新的项目,选择右上角用户头像 -> 菜单“新建仓库”,然后点击“创建项目

在这里插入图片描述

C、先建一个本地仓库目录并初始化,再关联远程仓库

# 新建一个本地仓库目录
$ mkdir gitee
# 进入刚创建的仓库
$ cd gitee
# 本地仓库初始化
$ git init
# 关联远程仓库
$ git remote add origin(远程仓库的名字默认的)git@gitee.com:itan_yyb/myrepository.git (Gitee仓库地址)

D、其他操作与git操作一样

七、删除文件

1、使用git命令删除本地的文件
$ git rm -rf 文件名
2、再提交到本地的版本库
$ git commit -m '批注信息'
3、再推送到远程仓库上
$ git push origin(远程仓库名字默认值) 当前分支名

八、在Eclipse上使用git或gitee

1、之前使用bash连接github时做了哪些事
  • 生成ras.pub 公钥
  • 配置sshkey
  • 创建仓库
  • 关联远程库
  • 向仓库推送数据
  • 拉取数据
2、把项目分享到gitee

A、配置Git相关账号信息

在这里插入图片描述

B、Eclipse 配置 publickKey

1、生成key路径

在这里插入图片描述

2、获取key路径

在这里插入图片描述

C、在码云中配置 用户 ssh key

在这里插入图片描述

D、验证添加的key是否生效

$ ssh -T git@gitee.com
# 返回: Welcome to Gitee.com, xxx ! ---- 则表示添加key成功!

E、分享项目到码云

1、选中项目右键—>Team—>Share Project

在这里插入图片描述

2、将文件添加到暂存区中

选中项目右键--->Team--->Add to Index

3、或者自定义选择要添加的文件到暂存区

选中项目右键--->Team--->Commit--->可以自行选择Unstaged Changes中的文件--->Add to Index

在这里插入图片描述

4、把项目推送到远程仓库中

选中项目右键--->Team--->Remote--->Push

在这里插入图片描述

5、点击next—>输入账号和密码登录—>设置密码找回问题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、去码云上刷新即可

3、从gitee上拉取项目

File--->Import--->选择Git

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、更新项目

选中项目右键--->Team--->Pull...

在这里插入图片描述

5、删除项目中的文件

A、删除提交

删除文件后--->右键选择Team--->选择Commit--->输入提交信息后--->点击Commit按钮

B、推送到远程仓库

右键选择Team--->选择Remote--->Push--->点击Next按钮--->选择分支--->点击Finish按钮

九、在IDEA上使用git或gitee

1、把项目分享到git

A、在idea中配置本机中的git安装路径

file --> other settings --> setting for new projects --> version control --> Git

在这里插入图片描述

B、在idea中配置github账号

file-->other settings-->setting for new projects-->version control-->GitHub(输入git账号和密码)

在这里插入图片描述

C、创建项目的本地git库

VCS --> import into version control --> create git repository(选择要上传的项目),点击ok

在这里插入图片描述

D、先添加到Git

选中项目右键--->选择Git-->点击add

E、再提交到本地

选中项目右键--->选择Git--->commit directory--->填写提交信息--->点击Commit

在这里插入图片描述

F、最后提交到远程仓库

1、在GitHub上新建一个仓库

在这里插入图片描述

2、提交到刚创建的仓库中

选中项目右键--->选择Git-->repository-->push

然后设置github上对应的仓库的地址,点击push即可

在这里插入图片描述

在这里插入图片描述

注意:若是报错,无法提交,解决如下:

#Idea中可使用Alt+F12,然后依次输入命令
git pull
git pull origin master
git pull origin master --allow-unrelated-histories
#再重新push自己的项目,成功
2、从git上拉取项目

VCS--->Checkout from Version Control--->Git

在这里插入图片描述

3、项目操作步骤
  1. 先添加一下。
  2. 再提交到git的本地仓库。
  3. 再提交到远程的仓库。
4、更新操作

选中项目右键--->Git--->Repository--->Pull...

在这里插入图片描述

5、把项目分享到gitee

A、在IDEA中下载gitee安装并重启IDEA

在这里插入图片描述

B、在idea中配置本机中的git安装路径

file --> other settings --> setting for new projects --> version control --> Git

在这里插入图片描述

C、配置gitee

在这里插入图片描述

D、推送到gitee

VCS --> import into version control -->Share Project on Gitee

注意: 会自动在Gitee上新建仓库

在这里插入图片描述

E、其他操作跟git一样

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值