git入门(全网最详细)

这篇具有很好参考价值的文章主要介绍了git入门(全网最详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.介绍

1.1什么是git

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 [Linus Torvalds](林纳斯·本纳第克特·托瓦兹_百度百科 Torvalds/9336769) 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.2什么是github

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。

1.3.gitlab是什么

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。

GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

1.4.Git,GitHub与GitLab的区别

Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。

GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。

GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。

GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。

1.5.什么是版本控制系统?

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。是一种文件存储系统。

1.6.集中式与分布式版本控制系统

git入门(全网最详细),git,git

分布式相比集中式有以下好处:

集中式,如果服务器宕机,无法进行代码代码提交、版本管理。

分布式,可以在本地进行版本管理,你可以选择合适的时候将本地版本推送到远程服务器。

分布式比集中式数据安全性高,例如集中式,服务器故障数据丢失风险大

2.安装和使用

2.1.使用yum安装Git

yum install git

2.2Windows安装

下载地址:https://git-scm.com/downloads

2.3.创建仓库

为方面开发者交换数据,分布式版本控制系统一般会准备一台服务器充当“中央服务器”,开发者怎么与这台服务器通信呢。

一般借助SSH实现通信。

添加一个用户,用于SSH连接认证:useradd git

passwd git

新建一个项目仓库:su - git

mkdir demo.git

/home/git/demo.gitgit init --bare

git入门(全网最详细),git,git

在开发者电脑就可以使用git命令拉取这个项目仓库代码了

git clone git@10.0.70.238:/home/git/demo.gitgit入门(全网最详细),git,git

有时提交代码频率挺高,每次输入密码挺麻烦,可以配置SSH密钥对实现免交互认证。

1、生成密钥对: ssh-keygen

2、将id_rsa.pub公钥内容添加到服务器git账号mkdir /home/git/.ssh/authorized_keys

3、git携带id_rsa私钥进行SSH认证

git入门(全网最详细),git,git

方法二、cat id_rsa.pub公钥信息,将信息添加到/home/git/.ssh/authorized_keys

远程机的ssh公钥复制到git机器上,即可实现免交付

执行ssh-copy-id git@10.0.70.239将239机器上的id_rsa.pub公钥移过去,

git入门(全网最详细),git,git

2.4git配置使用者

2.4.1.配置使用者信息:

添加使用者名字:git config --global user.name xiaofeifei

添加使用者邮箱:git config --global user.email 190707@qq.com

2.4.2.查询使用者信息:

git config --list

2.4.3.删除使用者信息:

git config --global --unset user.name

git config --global --unset user.email

2.4.4将暂存区提交到本地版本库

git commit -m 'hello'

2.4.5将本地库推送到远程仓库

git push origin master

2.4.6查看git的信息

cat .git/config

git入门(全网最详细),git,git

core.quotepath=false:这可能是设置路径名称是否被引号包围,具体影响可能依赖于你的具体使用环境。
user.name=xiaofeifei 和 user.email=1907079083@qq.com:这是你的Git用户名和电子邮件地址,它们在提交时会被使用。
core.repositoryformatversion=0:这可能是设置Git仓库的格式版本,这个值通常应该为0。
core.filemode=true:这可能是设置文件模式(执行,文本等)是否被跟踪,对于Unix和Linux环境,这个值通常应该为true。
core.bare=false:一个bare仓库是不包含工作树的仓库,这个设置是用来决定仓库是否为bare仓库。
core.logallrefupdates=true:这个设置可能会让Git在任何引用更新(比如commit或者push)的时候都记录日志。
remote.origin.url=git@10.18.93.152:/home/git/demo.git:这是你的远程仓库的URL。
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*:这是你从远程仓库拉取的引用。
branch.master.remote=origin 和 branch.master.merge=refs/heads/master:这设置了master分支的远程和合并设置。

git入门(全网最详细),git,git

2.4.7提交到缓存区

git add hello.py

查看git的状态,可用看到刚刚提交到缓存区的文件

git status

git入门(全网最详细),git,git

2.4.8提交到本地仓库

git commit -m hello.py

git入门(全网最详细),git,git

表示在Git仓库中进行了某些更改。具体来说,
'master(根提交) dedbec5'表示当前在master分支上,且这个分支的最新提交是dedbec5。
'hello.py'是该提交引入或修改的文件。
'1 file changed, 1 insertion(+)'表示有一个文件被修改,并且有1行插入。
'create mode 100644 hello.py'表示创建了一个新文件,名为hello.py,
并且这个文件的权限是644(在Unix系统中,6表示所有者有读写权限,4表示组用户和其他用户只有读权限)。

2.4.9查看git日志

git log

git入门(全网最详细),git,git

提交的哈希值为dedbec5dba3bb5e0961b360e0d60639ca38faf76,
它是由xiaofeifei在2023年10月9日14:22:52提交的

2.4.10再次查看git状态

git status

git入门(全网最详细),git,git

2.4.11推送到远程仓库

git push origin master

git入门(全网最详细),git,git

'Counting objects: 3, done.'表明Git正在计算需要上传的对象数量,
这里的对象是Git用来存储版本历史记录的文件。
'Writing objects: 100% (3/3), 229 bytes | 0 bytes/s, done.'
表明Git正在将这三个对象写入到本地暂存区,并已经完成。'Total 3 (delta 0), reused 0 (delta 0)'表明总共三个对象被引用或上传,并且没有重复或共享任何delta(差异)。
'To git@10.18.93.152:/home/git/demo.git'表明您正在将更改推送到远程仓库的路径。'* 
[new branch] master -> master'表明您正在将master分支的更改推送到远程仓库的master分支。

2.4.12在其他开发机拉取项目,可用看到新提交的内容

git pull

git入门(全网最详细),git,git

3.Git的工作区

git入门(全网最详细),git,git

4.常用命令与开发流程

4.1.Git常用命令

git入门(全网最详细),git,git

4.2Git工作流程

git入门(全网最详细),git,git

master分支属于主分支,用于发布上线

其他分支用于开发新的代码

git入门(全网最详细),git,git

提交项目到缓存区

git add .

git add 文件名

git入门(全网最详细),git,git

提交到本地仓库 -m是说明

git入门(全网最详细),git,git

git入门(全网最详细),git,git

git log查看所有提交的记录

git log 文件 查看指定文件的提交的记录

git入门(全网最详细),git,git

查看变更的内容,可用与工作区、暂存区、仓库

git diff 文件名

工作区

之前是123

git入门(全网最详细),git,git

暂存区

git入门(全网最详细),git,git

仓库

git入门(全网最详细),git,git

提交远程仓库的dev分支

git入门(全网最详细),git,git

拉取远程仓库dev分支

git clone -b dev git@192.168.94.249:/home/git/demo.git

git入门(全网最详细),git,git

git入门(全网最详细),git,git

4.3、Git分支管理与上线发布流程

git入门(全网最详细),git,git

.Git分支介绍与公司分支开发流

git入门(全网最详细),git,git

4.4.Git分支介绍与公司分支开发流

git入门(全网最详细),git,git

4.5.git分支管理命令

git入门(全网最详细),git,git

创建分支

git branch 分支名

查看本机分支

git branch

查看所有分支

git branch -a

删除分支

git branch -D 分支名

git入门(全网最详细),git,git

切换分支

git checkout 分支名

git入门(全网最详细),git,git

添加到分支

git push origin feature-v1

git入门(全网最详细),git,git

合并分支

git入门(全网最详细),git,git

git入门(全网最详细),git,git文章来源地址https://www.toymoban.com/news/detail-816506.html

到了这里,关于git入门(全网最详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 全网详细解决git官网下载太慢的问题

    我们在开发的过程中,无可避免地要使用到 git ,来托管我们的代码。 它是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 使用 git 的前提是要下载和安装它,因而,我们可以点击它的官网链接地址:https://git-scm.com。 打开官网链接后,如果你的

    2024年01月23日
    浏览(70)
  • 【Java基础】全网最详细 - 从入门到转行

    Java是一种通用的、高级的、面向对象的编程语言,最初由Sun Microsystems(目前为Oracle公司)于1995年发布。它被设计成一种可以在各种不同的环境中运行的语言,不论是桌面应用程序、企业级应用程序、移动设备或集群服务器,都可以使用Java来开发。 Java的特点包括: 简单性

    2024年02月06日
    浏览(42)
  • Bugzilla的快速入门指南(全网最详细)

    目录 一:在了解Bugzilla的使用前,先了解一些基本知识: 1.什么是Bugzilla 2.bug的来源 3.bug的生命周期 4.处理bug的所有角色: 5.一个bug的生命周期: 6.bugzilla使用时的基本流程图: 二:了解基本知识后,开始进入bugzilla的基本使用: 1.登录用户  2.创建用户 3.编写bug 填写bug的注意

    2024年02月01日
    浏览(44)
  • 全网网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇绝对够了

    由于我之前写了不少网络安全技术相关的故事文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人在微信里问我: 我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选? 不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网路安全更多

    2024年02月08日
    浏览(47)
  • 全网首份Nas-tool详细入门教程(包含一些问题的处理方法)

    对于影音爱好者来说,一般观看影片需要这么几个步骤,寻找资源→使用BT工具(QBTR)进行下载→资源命名整理→硬链接→使用emby、jellyfin、plex等进行资源信息搜刮→然后截图发到群里大喊看我影片墙好不好看,虽然概括是以上几步,但是实际操作下来会有许多的坑,比如找

    2024年01月16日
    浏览(46)
  • 【从零开始玩量化17】如何python+QMT完成自动化交易?(全网最详细入门教程)

    此部分为扫盲内容,有一定了解者可以跳过。 它是一款量化交易客户端软件,由一家叫做迅投公司出品,可以直接登录你的券商账号进行股票交易,但与同花顺/通信达不同的是, 它暴露了基于python的交易API,可以执行程序化交易 。 顺便查了一下迅投这个公司的背景,21年冲

    2024年02月08日
    浏览(56)
  • Spring Boot入门(07):整合 MySQL 和 Druid数据源 | 全网最详细保姆级教学(两万字)

            作为现代Web应用开发的重要技术栈之一,Spring Boot在快速构建可靠、高效、易维护的应用方面具有独特的优势。而在实际开发中,数据库作为系统的重要组成部分,对于数据源的选择和配置也是至关重要的。本篇文章将全面介绍如何使用Spring Boot整合MySQL和Druid数据

    2024年02月12日
    浏览(50)
  • Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

    常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者。便于分享:gradio可以在启动应用时设置share=True参数

    2023年04月25日
    浏览(42)
  • Gradio入门到进阶全网最详细教程[二]:快速搭建AI算法可视化部署演示(侧重参数详解和案例实践)

    相关文章:Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享) 在教程一中主要侧重讲解gradio的基础模块搭建以及demo展示,本篇文章则会侧重实际任务的搭建。 保持一贯作风简单展示一下如何使用 gradio的核心是它的gr.Interface函数,

    2023年04月26日
    浏览(51)
  • Git入门详细教程

    Git官网 Git是一个开源的 分布式版本控制系统 ,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更,并且可以在需要时轻松地回滚到之前的版本。 版本控制是

    2024年01月19日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包