学习【Git项目管理工具】这一篇就够了

这篇具有很好参考价值的文章主要介绍了学习【Git项目管理工具】这一篇就够了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Git概述

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、ml文件、html页面等),在软件开发过程中被广泛使用。

学完Git之后能做什么?

  • 代码回溯
  • 版本切换
  • 多人协作
  • 远程备份

Git仓库分为两种:

  1. 本地仓库:开发人员自己电脑的 Git 仓库
  2. 远程仓库:远程服务器上的 Git 仓库

学习【Git项目管理工具】这一篇就够了,Git,学习,git

commit: 提交,将本地文件和版本信息保存到本地仓库
push: 推送,将本地仓库文件和版本信息上传到远程仓库
pu11: 拉取,将远程仓库文件和版本信息下载到本地仓库

2. Git代码托管服务

Git 中存在两种类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?

我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub码云GitLab等。

  • GitHub(地址:https://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub
  • 码云(地址:https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  • GitLab(地址:https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
  • BitBucket(地址:https://bitbucket.org/),是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

3. Git常用命令

3-1. Git全局配置

当安装Git后首先要做的事情是设置用户名称email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

在Git命令行中执行下面命令:

设置用户信息

git config --global user.name "iteng"
git config --global user.email "iteng@qq.com"

查看配置信息

git config --list

注意:上面设置的user.nameuser.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置,只是用户标识。

3-2. 获取Git仓库

要使用 Git 对我们的代码进行版本控制,首先需要获得 Git 仓库。获取 Git 仓库通常有两种方式:

  1. 在本地初始化一个 Git 仓库
  2. 从远程仓库克隆

本地初始化仓库

执行步骤如下:

  1. 在任意目录下创建一个空目录作为我们的本地 Git 仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init
  4. 如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

克隆远程仓库

可以通过 Git 提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

git clone 远程Git仓库地址

3-3. 基本概念

为了更好的学习Git,我们需要了解Git相关的一些概念,这些概念在后面的学习中会经常提到

工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

学习【Git项目管理工具】这一篇就够了,Git,学习,git

工作区文件状态

Git 工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制,未git add
  • tracked 已跟踪(被纳入版本控制,已git add
    1. Unmodified 未修改状态(已git commit,之后无修改
    2. Modified 已修改状态(已git commit,之后有修改
    3. Staged 已暂存状态(未git commit

注意:这些文件的状态会随着我们执行Git的命令发生变化

3-4. 本地仓库操作

本地仓库常用命令如下:

命令 说明
git status 查看文件状态
git add 将文件加入暂存区
git reset 将暂存区的文件取消暂存或者是切换到指定版本
git commit 将暂存区的文件提交到版本库
git log 查看日志

git reset 操作

取消暂存区的一个文件

git reset test.java

切换到指定 commit 版本

git reset --hard 版本号

3-5. 远程仓库操作

有关远程仓库的一些操作,具体包括:

命令 说明
git remote 查看远程仓库
git remote add 添加远程仓库
git clone 从远程仓库克隆
git pull 从远程仓库拉取
git push 推送到远程仓库

查看远程仓库

如果想查看已经配置的远程仓库服务器,可以运行git remote命令,它会列出每一个远程服务器的简写。
如果已经克隆了远程仓库,那么至少应该能看到origin,这是 Git 克隆的仓库服务器的默认名字
如果想看到远程仓库的详细信息,命令:git remote -v

学习【Git项目管理工具】这一篇就够了,Git,学习,git

添加远程仓库

一个本地仓库对应一个远程仓库

命令:

git remote add 远程仓库别名(例如:origin) url

推送远程仓库

将本地仓库内容推送到远程仓库

命令:

git push 远程仓库名 分支名

拉取远程仓库

将远程仓库文件拉取合并到本地

命令:

git poll 远程仓库名 分支名

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories

解决此问题可以在git pull命令后加入参数--allow-unrelated-histories

3-6. 分支操作

分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init命令创建本地仓库时默认会创建一个master分支。

学习【Git项目管理工具】这一篇就够了,Git,学习,git

分支命令

命令 说明
git branch 查看所有本地分支
git branch name 创建分支
git checkout name 切换分支
git push 远程仓库名 分支名 推送至远程仓库分支
git merge name 合并name分支到当前分支
git branch -d name 删除分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支

3-7. 标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。

比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。下面是PageHelperl的标签

学习【Git项目管理工具】这一篇就够了,Git,学习,git

标签命令

命令 说明
git tag 列出已有的标签
git tag name 创建标签
git push 远程仓库名 标签名 将标签推送至远程仓库
git checkout -b 分支名 标签名 检出标签到指定分支

4. 在IDEA中使用Git

4-1. Git配置

在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要在IDEA中配置Git。

学习【Git项目管理工具】这一篇就够了,Git,学习,git

4-2. 仓库操作

学习【Git项目管理工具】这一篇就够了,Git,学习,git文章来源地址https://www.toymoban.com/news/detail-805743.html

到了这里,关于学习【Git项目管理工具】这一篇就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • git代码撤销回滚只看这一篇就足够了!

    git代码撤销回滚只看这一篇就足够了!

      目前大家都在使用 git ,在项目开发中,总会遇到提交的代码有问题,想要撤销回滚的操作,关于撤销回滚代码单独给大家介绍一下。   正常的提交代码如果要提交到远程仓库有下边3步命令:   在 git 里,撤销代码的命令主要为 git reset ,但是有 git reset --soft 、 gi

    2024年02月03日
    浏览(12)
  • 学习SpringSecurity这一篇就够了

    学习SpringSecurity这一篇就够了

    案例源码地址:https://gitee.com/gzl_com/spring-security.git 1.1、概要 Spring Security 是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 安全方面的两个主要区域是“ 认证 ”和“ 授权 ”。在Web 应用又称之为 用户认证 和 用户授权 两个部

    2024年02月11日
    浏览(45)
  • 端口扫描工具 NMAP使用详解,收藏这一篇就够了

    端口扫描工具 NMAP使用详解,收藏这一篇就够了

    前言 为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全; 那么,今天主要想跟大家分享的是在 Linux 操作系统下除了使用

    2024年02月04日
    浏览(10)
  • Pycharm 搭建 Django 项目,看完这一篇就够了

    Pycharm 搭建 Django 项目,看完这一篇就够了

    在使用 python 框架 Django 需要注意下面事项 Pycharm 版本是 专业版 而不是社区版本 Pycharm 配置好了 python 解释器 (一般我们现在用的都是python3) 我自己使用的是 Pycharm 版本是2020.1.2 首先我们打开 Pycharm 如下所示 可能有些小伙伴到这个界面怎么打开,你可以这样做,打开你的

    2024年02月07日
    浏览(44)
  • 学习C++这一篇就够了(基础篇)

    学习C++这一篇就够了(基础篇)

    在C++中如何使用C语言打包好的库函数 空间分配原则是以“连续空闲”为核心的 运行某个程序后,一定会向内存申请空间 分配内存时,内存空间一定是连续的 分配出来的空间,是不确定位置的 单行注释: //一行的注释内容 多行注释:(模块化注释) /* 多行的注释内容 多行

    2024年02月12日
    浏览(15)
  • 超图(HyperGraph)学习,看这一篇就够了

    超图(HyperGraph)学习,看这一篇就够了

    最近事多,好久没更新了,随便写写(Ctrl+V)点 一、超图定义 通常图论中的图,一条edge只能连接2个vertex,在超图中,不限量 如何理解呢,就用我正在做的KT问题来看:7道题目-7个顶点;4种概念-4条超边,其中第1,2,3题都是考察概念1的,则构建一个包含了这仨的超边,以此类

    2024年02月02日
    浏览(11)
  • 学习C++这一篇就够了(进阶篇)

    学习C++这一篇就够了(进阶篇)

    C++在执行程序的时候,将内存方向划分为4个区域: 代码区:存放二进制代码,由操作系统进行管理 全局区:存放全局变量、静态变量、常量,程序结束后由操作系统释放 栈区:存放函数参数、局部变量,由编译器自动分配和释放 堆区:由开发者申请分配和释放,若程序员

    2024年02月12日
    浏览(33)
  • git(项目版本管理工具)快速入门

    git(项目版本管理工具)快速入门

    目录 1、git 1.1、git概述 1.2、git的服务器地址 1.3、git原理 2、客户端操作 2.1、初始化本地库 2.2、添加本地暂存区  2.3、提交本地库 2.4、修改文件 2.5、查看修改历史 2.6、查看版本差异 2.7、删除文件 2.8、文件还原 3、git命令 3.1、初始化本地库 3.2、查看本地仓库状态 3.3、添加本

    2023年04月12日
    浏览(8)
  • 鸿蒙系统概述(HarmonyOS)学习这一篇就够了!

    鸿蒙系统概述(HarmonyOS)学习这一篇就够了!

    我们可以从以下三个主要方面进行概述: 系统定义、技术特征、系统安全 。 目录 鸿蒙系统概述(HarmonyOS) 系统定义  系统定位 技术架构  内核层   系统服务层 框架层 应用层  技术特性 硬件互助,资源共享 一次开发,多端部署 统一OS,弹性部署  系统安全 正确的人 正

    2023年04月08日
    浏览(8)
  • MySQL入门阶段这一篇就够了-学习笔记(手敲1.5万字)

    MySQL入门阶段这一篇就够了-学习笔记(手敲1.5万字)

    虽然在大一下学期,就已经接触到了MySQL,但是那个时候只是会用MySQL进行增删改查,在大三上学期,尝试投简历寻找实习时,对方公司对于程序员的MySQL水平有很高的要求,所以我开始系统化的学习MySQL。顺便将整理出的笔记逐步写入博客中,日积月累,准备发表一篇长篇博

    2024年02月15日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包