git基础教程-从git基础认识到gitee配置

前言

本文中可以学到:
了解Git基本概念
能够概述git工作流程
能够使用Git常用命令
熟悉Git代码托管服务
能够使用idea操作git`

一、什么是git?

git是分布式版本控制工具。
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无
需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。

二、git的工作流程

提示:先看图了解了解,看了后面文章会逐渐明白;
在这里插入图片描述

三、git的常用命令

在使用之前需要安装好git工具:点击下载
安装完成后要进行配置

1 配置

git config --global user.name " username"
git config --global user.email “useremail”

2查看配置信息

git config --global user.name
git config --global user.email

3. 基础操作指令

  1. 理解代码在本地的存储

在这里插入图片描述

命令解释
touch filename创建文件
vi filename编辑文件
git add .将工作区内容提交到暂存区
git commit -m “注释内容”将暂存区的内容存到仓库
git status查看当前暂存区的状态
  • 版本回退
命令解释
git reset --hard commitID回退到指定版本的ID
git-log查看当前的版本(一行)
git log查看当前的版本(多行)
git reflog查看删除提交记录
  • 分支的切换
命令解释
git checkout 分支名切换分支到 分支名
git checkout -b 分支名切换分支到 分支名(不存在则创建)
  • 分支的创建
命令解释
git branch查看当前的分支
git branch 分支的名称创建分支
git checkout分支名 切换分支
git-log查看分支的信息
  • 解决冲突
    案例:
    1.假如在dev与master分支下都有file02.txt的文件。
    2.其中dev下file02.txt内容为:dev file02.txt;
    3.master下file02.txt内容为:master file02.txt;
    4.现在我们分别在master分支与dev分支下提交内容;
    5.合并分支dev到master,出现错误:
Auto-merging file02.txt
CONFLICT (content): Merge conflict in file02.txt
Automatic merge failed; fix conflicts and then commit the result.

且文件内容如下:

<<<<<<< HEAD
master update file02.txt
=======
dev update file02.txt
>>>>>>> dev

解决冲突,手动去解决冲突,比如我将文件内容改为了:master update file02.txt

最后使用git add . git commit -m “提交冲突”

四、git代码托管平台

0.介绍

前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

  • gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持
    Git 作为唯一的版本库格式进行托管,故名gitHub
  • 云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于
    GitHub,码云速度会更快
  • GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作
    为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。

1.注册gitee

注意:github由于网络访问原因,这里我们教程使用gitee.

  1. 点击注册
  2. 新建仓库
    在这里插入图片描述

2. 配置SSH公钥

在本机git环境下:如下图(重要信息大码,看命令及可)
注意:以下所有命令要保证已经完成git config 配置,及 (三 1. )部分
在这里插入图片描述

  1. 生成SSH公钥
  • ssh-keygen -t rsa
    • 不断回车
      • 如果公钥已经存在,则自动覆盖
  1. Gitee设置账户共公钥
  • 获取公钥
    • cat ~/.ssh/id_rsa.pub
      在这里插入图片描述
  1. 验证是否配置成功
    ssh -T git@gitee.com

3.操作远程仓库

  1. 添加远程仓库
    此操作是先初始化本地库,然后与已创建的远程库进行对接。
  • 命令: git remote add <远端名称> <仓库路径>
    • 远端名称,默认是origin,取决于远端服务器设置
    • 仓库路径,从远端服务器获取此URL
    • 例如: git remote add origin git@gitee.com:czbk_zhang_san/git_test.git
  1. 查看远程仓库
  • 命令:git remote
  1. 推送本地代码到远程仓库
  • 命令:git push [-f] [–set-upstream] [远端名称 [本地分支名][:远端分支名] ]
    - 如果远程分支名和本地分支名称相同,则可以只写本地分支
    • git push origin master
  • -f 表示强制覆盖
  • –set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。
    • git push --set-upstream origin master
  • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
    • git push 将master分支推送到已关联的远端分支。
  1. 使用git branch -vv 查看分支之间的关系,
    本地master绑定远端的master

注意:有可能会报错:

https://gitee.com/qsq/git-test.git/': The requested URL returned error: 403

y@LBDTOP-7777LAPAE MINGW64 ~/Desktop/git-test/test01 (master)

解决方案:

控制面板 > 用户帐户 > 凭据管理器 > Windows 凭据 > 通用凭据

接下来,删除 Gitte 密钥。

在这里插入图片描述


4.0 远端冲突解决方案

  1. 问题:
    在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。
    A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库。但提交时候会出现错误:
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/qqq/git-test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

  1. 解决办法:因为此时B用户晚于A用户,故B用户需要先拉取远程仓库的提交,经过合并后才能推送到远端分支。
    在这里插入图片描述

  2. 指令:

  - git pull  	           			 //拉去代码到本地;
  - 手动修改冲突。
  - git add .                      //提交到暂存区
  - git commit -m '修改冲突'        //提交到本地仓库
  - git push  						//提交到远端仓库

冲突如下:
在这里插入图片描述
手动解决冲突:
在这里插入图片描述

  1. 总结
    解决冲突办法:把远端仓库代码拉到本地,再本地解决,解决完成后推送到远端。

五、使用idea操作git

1.创建远端仓库

在这里插入图片描述

2.初始化本地仓库

  • 确定git版本
    在这里插入图片描述
  • 将代码变为本地仓库

在这里插入图片描述

3.设置远端仓库:

在这里插入图片描述

4 提交代码

在这里插入图片描述

5.推送代码到远端仓库

在这里插入图片描述

6.克隆代码到本地

在这里插入图片描述

7.创建分支

  • 常规方法

在这里插入图片描述

  • 更简洁方便的
    在这里插入图片描述

8.切换分支

在这里插入图片描述

9.解决冲突

1.执行merge或pull操作,可能发生冲突
在这里插入图片描述
2.冲突解决后加入到暂存区
3.提交代码到本地仓库
4.推送到远端仓库

六、IDEA中常用Git操作

1. 基本操作一览图

在这里插入图片描述

2. git操作在IDEA中的入口

在这里插入图片描述

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值