Git和Github

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

目录

0.前言

1.概念

1.1版本控制系统功能

1.2版本控制系统类型

1.3 Git和Github

2.Git和GitHub使用

2.1GitHub上获取任务代码

2.2在本地建立git仓库(local repository)

2.3使用git管理本地开发--将代码提交到Github上

3.Git中的Object Graph(存在仓库的.git directory中)

3.1Git详细指令功能

3.2Git指令与object graph的相应变化--示例

 


0.前言

什么是git;git和GitHub使用方法;object graph相关内容(这也是困扰我很久的地方QAQ)

1.概念

1.1版本控制系统功能

(1)回滚到前一个版本(2)比较两个版本的差异(3)备份(4)合并(5)在多个开发者之间实现共享、协作(6)记录每个开发者的动作,便于审计

1.2版本控制系统类型

(1)本地版本控制系统(local VCS):仓库在开发者本地机器,无法实现共享协作

Git和Github

(2)集中式本本控制系统(Centralized VCS) :仓库在独立的服务器,支持多开发者之间的协作

Git和Github

(3)Distributed VCS:仓库在独立服务器和每个开发者的本地电脑

Git和Github

1.3 Git和Github

Git是一个分布式版本控制系统,Github是一个社区,只支持git分布式系统,所以故名成为github。

Git和Github


2.Git和GitHub使用

2.1GitHub上获取任务代码

(1)打开cmd,输入 cd D:\...\...(要把远程仓库放在哪一个路径,这里是放在D盘的某个位置,可以根据需要进行更改)

注意:输入该行命令后,可能路径还是没有显示到对应位置,输入D:,按回车即可(这里的D是因为我前面的路径在D盘,可以根据需要修改)

(2)打开GitHub网页版可以直接找到仓库的SSH链接,复制该链接

(3)回到cmd,输入git clone ssh链接

2.2在本地建立git仓库(local repository)

打开cmd 输入 cd D:\...\...(要在哪开辟仓库)

                       git init     (将该路径下所有文件视为一整个仓库)

2.3使用git管理本地开发--将代码提交到Github上

若已经建立好了git仓库,则输入下面命令将代码提交到GitHub上,承接2.2,在cmd中输入

git status    (检查当前路径下的文件状态--是否commit,可以忽略)

git add *.*   (将文件添加到暂存区staging)

git commit - m "name"  (将staging中文件提交到本地仓库,将commit命名为name,可自己定义)

git remote    (列出每个远程库的名字,用来检查有没有连上远程库or查看远程库名字,若没连过,这里为空,可以忽略)

git remote add origin 远程库的ssh链接   (与远程仓库进行连接,将远程库命名为origin,一般都这么命名,可以自定义)

git remote    (列出每个远程库的名字,用来检查有没有连上远程库or查看远程库名字)

git push origin master:master (将本地仓库push到origin远程仓库的master分支中)


3.Git中的Object Graph(存在仓库的.git directory中)

我们使用Git所做的操作clone,add,commit...都是在图的数据结构上的操作,这个结构存储了项目中文件的所有版本,以及描述这些更改的所有日志条目

Object Graph:版本之间的演化关系图,一条边 A->B表征了“在版本B的基础上作出变化,形成 了版本A

在进行commit操作的时候,Git会保存一个提交对象(commit object),一个commit就是object graph中的一个节点

分支(branch)

git的分支可以理解为一个指向commit的指针,指向该条分支的最新提交commit。而HEAD是一个特殊的指针,指向当前所在的本地分支

3个提交对象,两个分支master,testing

Git和Github

3.1Git详细指令功能

(1)git checkout branchName  切换到branchName分支

         git checkout -b branchName 创建一个branchName分支,并将当前本地分支切换到该处

(2)git merge b  假设当前分支为a,将branchName合并到a上

①“快进”:当前的a指向的commit是b指向的直接上游

即Cb是在Ca上改动的,两者的merge就是Cb,将a指向Cb即可

Git和GithubGit和Github

②“非快进”,无冲突:修改的地方不同

两者的共同祖先设为Co,即Ca和Cb是在Co的版本上修改的结果,修改的位置不同,则Git会使用两个分支的末端所指的以及这两个分支的公共祖先Co,做一个简单的三方合并,得到一个新的commit

Git和GithubGit和Github

③“非快进”,冲突:Git暂停,等待处理

(3)git branch 显示当前所有分支

         git branch -d branchName  删除branchName分支

         git branch -v  显示每个分支最后一次提交

3.2Git指令与object graph的相应变化--示例

(1)初始:3个commit对象(c0,c1,c2),master指向c2,HEAD指向master(当前所在本地分支为master)

Git和Github

(2)输入指令:git checkout -b iss53 (创建一个名为iss53的分支,将当前本地分支切换到iss53)

Git和Github

(3)输入指令:git commit (提交一个新的commit对象,iss53指向c3,而master指向不变)

Git和Github

(4)输入指令:git checkout master(将当前本地分支切换到master分支)

Git和Github

(5)输入指令:git checkout -b hotfix

                           git commit (创建一个新的hotfix分支,提交一个新的对象c4)

Git和Github

(6)输入指令:git checkout master

                           git merge hotfix(将当前本地分支切换到master分支,将分支hotfix合并到master分支上)

由于master指向的commit是hotfix指向的直接上游,所以两者合并的结果就是C4

Git和Github

(7)输入指令:git branch -d hotfix (删除hotfix分支)

Git和Github文章来源地址https://www.toymoban.com/news/detail-405174.html

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

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

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

相关文章

  • Git 版本控制系统(尚硅谷)

    Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点, 将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。 git --verson 1. 配置提交人姓名:git config --global user.name “提交人姓名” # (对当前系统用户有效) 2. 配置提交人姓名:git config -

    2024年02月04日
    浏览(58)
  • Git----分布式版本控制系统

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。它是世界上目前最先进的分布式版本控制系统。 Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。 Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布

    2024年02月15日
    浏览(59)
  • git分布式版本控制系统

    右键菜单 选择Git Bash Here,输入任意一条后回车来查看当前Git软件的安装版本。 2.1 区域 Git软件为了更方便地对文件进行版本控制,根据功能得不同划分了三个区域 存储区域:Git软件用于存储资源得区域。一般指得就是.git文件夹 工作区域:Git软件对外提供资源得区域,此区

    2024年03月21日
    浏览(63)
  • Git 分布式版本控制系统

    版本控制系统是一种记录文件变更历史的系统,它允许开发者跟踪文件的修改、还原特定版本、并在多个用户之间协同工作。VCS 主要有两种类型:集中式版本控制系统(Centralized VCS,如 SVN)和分布式版本控制系统(Distributed VCS,如 Git)。 版本追踪: 可以追踪文件的每一次

    2024年01月17日
    浏览(48)
  • Git——分布式版本控制系统

    Git是一个开源的分布式版本控制系统,可以高效的处理从小到很大的项目版本管理。 集中式 SVN,CVS 使用单一的服务器用来管理和存储所有文件的修订版本;协同开发的成员拉取或提交都需连接到这台服务器;如果服务器宕机,宕机期间任何人都不能拉取或提交,无法做到协

    2024年02月10日
    浏览(61)
  • 分布式版本控制系统 Git

    目录 一、Git简介 二、Git历史 三、安装git 1.准备环境 2.Yum安装Git 四、初次运行 Git 前的配置 命令集 实例: 五、Git命令常规操作  六、获取 Git 仓库(初始化仓库) 创建裸库 实例 : 创建本地库         官网:Git         git是一个分布式版本控制软件,最初由林纳斯

    2024年02月22日
    浏览(55)
  • git版本控制系统以及项目部署方法

     git只适合开源的软件,安全性 不行  svn集中式版本控制系统必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,呵呵。分布式版本控制系统可以不连网工作,因为版本库就在你自己的电脑上。·集中式版本控制系统如果中央

    2023年04月08日
    浏览(41)
  • 分布式版本控制系统git详解

    是目前世界上最先进的分布式版本控制系统 git命令 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Lin

    2024年02月15日
    浏览(49)
  • Git分布式版本控制系统——Git常用命令(二)

    五、Git常用命令————分支操作 同一个仓库可以有多个分支,各个分支相互独立,互不干扰 分支的相关命令,具体如下: git branch                               查看分支 git branch [name]                   创建分支(name是分支名) git checkout [name]                切

    2024年04月10日
    浏览(45)
  • 从入门到精通:Git版本控制系统完全指南

    💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Git是一个强大的版本控制系统,它可以帮助开发者轻松地管理代码版本、协作开

    2023年04月09日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包