最简单的git图解(最基本命令)

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

git clone:

这个命令用于将远程代码仓库克隆到本地,这是对任何项目进行开发前的第一步。

最简单的git图解(最基本命令)

比如你本地本来并没有某个项目的代码仓库,此时随便找一个文件目录并进入cmd命令窗口,执行命令git clone [remote address],[remote address]就是对应的远程代码仓库地址,克隆完成之后,你便可以看到新建了一个目录,进入该目录,会看到.git,所有包含.git的目录其实就是你本地的关于该项目的一个git代码仓库。比如:

最简单的git图解(最基本命令)

这个git_test目录就是jerry本地关于git_test这个项目的代码仓库,在该目录下进入cmd命令窗口可以执行各种git命令。这里简单演示下分支相关的命令:

执行下git branch:

最简单的git图解(最基本命令)

可以看到所有本地分支,其中master是你当前所在分支。

执行下git branch -a:

最简单的git图解(最基本命令)

可以看到所有分支,包括本地分支以及远程分支。

如果想切换到demo分支,执行git checkout demo即可。

如果demo分支还没有,想要从origin/demo分支切出来demo分支,执行git checkout -b origin/demo demo。

克隆之后,会默认把远程仓库命名为“origin”,同时你的本地仓库里面的分支会跟踪远程同名分支:

最简单的git图解(最基本命令)

这样的分支以及分支直接的跟踪关系可以通过git的配置文件查看到,进入.git目录,查看config文件,记录了当前仓库的详细配置:

最简单的git图解(最基本命令)

其中[core]记录的是仓库配置;[remote “origin”]就是说我们目前只有一个远程仓库,给这个远程仓库命名为“origin”;[branch “master”]跟踪了远程仓库origin里面的master分支,[branch “demo”]跟踪了远程仓库origin里面的demo分支。

git pull:

经过上面的git clone之后,其实是把此刻最新的远程代码仓库给克隆到本地了。但如果项目团队中另一名成员提交了新的代码到远程仓库,比如这样:

最简单的git图解(最基本命令)

 那么此时你(jerry)本地的代码仓库如何获取到远程仓库中新的内容呢?这就要用到git pull操作了。

完整的git pull命令是这样子的:git pull <远程主机名> <远程分支名>:<本地分支名>。比如: git pull origin master:master。

那如果我就简单执行了git pull,没写这么长会发生什么呢?那么会把当前所在分支所跟踪的远程分支上新的提交,拉到当前分支上。

如果jerry当前在master分支上,那么简单的执行git pull 即相当于 git pull origin master:master。如果当前不在master分支上,那么就只能老老实实执行git pull origin master:master了。

git pull命令执行之后,就会变成下面这样:

最简单的git图解(最基本命令)

其实上图展现得并不完全准备,实际上本地还有origin/*这样的分支,我们在下面学习git fetch命令的时候,会看到。

git fetch:

都说git pull = git fetch + git merge,实际上到底是如何发生的呢?下面用图说话,我们来一起看一看。

Git pull操作实际上分为两步,第一步执行了git fetch,将远程仓库里面的分支上的所有新的提交拉下来到对应的本地origin/*分支上:

最简单的git图解(最基本命令)

第二步将对应的本地origin/*分支上的提交merge到本地分支上。比如如果我执行的是git pull origin master:master,那么只会将origin/master分支merge到master分支上,而不会将origin/demo分支merge到demo分支上:

最简单的git图解(最基本命令)

当然了,你也可以只执行git fetch命令,执行之后只会将所有远程仓库中的所有分支上的新提交拉取到你本地所有的对应的origin/*分支上,但master、demo这样的本地分支不会有任何变化。

git merge:

Git merge可以发生在任何两个分支之间,一般操作方式为: git merge demo,那么会将demo分支merge到当前所在分支上:

最简单的git图解(最基本命令) 图例中从C2开始,从master分支切出去了一个新的分支:demo分支,demo分支上有一些提交,与此同时,master分支上也有一些提交。如果当前所处分支为master,执行git merge demo,那么会生成一个merge提交:C7。Demo分支上的所有提交也会被放到master分支上,最终master分支长这样:

最简单的git图解(最基本命令) 可以看到所有提交是按照提交时间顺序排列的,不管是master上后来的提交,还是demo分支上的提交,都是按照提交时间排列在了分支链上。

git add & git commit:

在git中,可以分为三种区域,分别是工作目录、暂存区、git仓库。其中工作目录中放的就是实际的文件,暂存区放的索引,git仓库里面放的是目录树(可以理解为分支链)。

最简单的git图解(最基本命令)

执行git add命令,会把指定的工作目录中经过增删改的文件放入暂存区(其实就是会被暂存区的索引引用到)。

可以执行git add [file1] [file2]...将多个有变动的文件放入暂存区,也可以执行git add . 将当前目录及其子目录下的所有有变动的文件放入暂存区。

执行git commit命令,会将暂存区的所有文件进行一次提交,提交之后会进入本地git仓库,形成当前分支链上的一个点(如上图所示)。

可以执行git commit -m “my first commit”来提交并写上提交说明,标记本次提交修改了些什么东西。

git push:

那如何将本地git仓库中新增的提交推送到远程仓库对应的分支上呢?这就要用到git push命令了。

完整的git push命令是:git push <远程主机名> <本地分支名>:<远程分支名>。比如:git push origin master:master,就是将本地的master分支上的新提交推送到远程仓库的master分支上。

如果只是简单的写了git push,那么会将当前分支上的新提交推送到其跟踪的远程仓库的分支上。

最简单的git图解(最基本命令)

一般在git push之前,需要先执行git pull,以保证你本地仓库拉取到远程仓库最新的内容。如果git push之前没有先执行git pull,那么在你git push的时候,就是下面这个样子的:

最简单的git图解(最基本命令)

此时git push操作要么就是直接push失败,提示你:你本地分支落后于远程分支;即使能成功,也会在远程仓库分支上新增一个不必要的merge提交。而且如果遇到代码冲突的情况,push是肯定会失败的,你需要先把远程仓库的提交pull下来,本地解决冲突之后,再进行push:

最简单的git图解(最基本命令)

好了,这就是今天的分享,以后我会不定期地继续更新,还是以这种图文的形式,我相信图解是最好的理解方式,我坚持以最简单、实用、易懂的方式把复杂的东西讲出来,希望可以帮助更多学习git的人少走弯路。 文章来源地址https://www.toymoban.com/news/detail-449836.html

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

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

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

相关文章

  • 【学习心得】图解Git命令

            图解Git命令的图片是在Windows操作系统中的Git Bash里操作截图。关于Git的下载安装和理论学习大家可以先看看我写的另两篇文章。链接我放在下面啦:         【学习心得】Git快速上手_git学习心得-CSDN博客         【学习心得】Git深入学习-CSDN博客 命令: 执行

    2024年01月16日
    浏览(42)
  • Linux上,执行git clone url , 显示“-bash: git: 未找到命令”,解决办法?

    解决办法:是安装git命令;但是在安装git命令之前,需要先启用EPEL存储库。 一.先启用EPEL存储库 如果没有安装 get(x32)或 wget (x64),需要提前安装下; 系统位数不同命令也会有所差异,下面将以CentOS 7 x32/x64 位为例: RHEL/CentOS 7 x32位执行以下命令: 执行命令: RHEL/CentOS 7

    2024年02月08日
    浏览(48)
  • 你想要的git命令都在这(图解)

    2.8 git add 【在git status中被修改的文件】在当前分支下添加被改动过的代码 2.9 git push origin 【本地分支】:【远程分支】将本地分支push到远程分支下,包括创建 2.10 git-keygen 生成密钥,github需要,在查找时使用cat ~/.ssh/id_rsa_pub命令直接找到公钥 2.11 git log 查看操作日志log 2.12

    2024年04月25日
    浏览(31)
  • Linux服务器使用git clone命令时报错的解决方案

    在往GitHub上上传项目时,使用git clone xxxxx.git时候报错: “gnutls_handshake() failed: the TLS connection was non-properly terminated” 由系统的 git 默认使用的 libcurl4-gnutls-dev 造成,可以使用openssl解决. 但是这个过程也很多坑。 依次执行: 执行到第三句 sudo apt-get build-dep git 又报错: you must

    2023年04月08日
    浏览(58)
  • huggingface如何使用ssh命令,下载数据集或者模型 比如:git clone git@hf.co:openchat/openchat_8192

    今天抽空整理了一下笔记。 #linux服务器中,使用ssh下载huggingface模型或者数据集 1.访问huggingface个人主页(profile)里的settings https://huggingface.co/settings/profile 2.点击左侧:SSH AND GPG keys 先开始准备工作: 准备工作:https://huggingface.co/docs/hub/security-git-ssh#generating-a-new-ssh-keypair 准备

    2024年02月12日
    浏览(52)
  • 【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突

    1. git clone main是本地的main分支,o(origin)/main是表示本地拉去下来的远程的main分支 o/main分支记录了远程仓库拉取时的分支状态 远程分支有一个特别的属性,在你切换到远程分支时,git会自动进入分离 HEAD 状态(这样做是因为git不想让你在本地就能直接进行修改远程仓库代码的

    2024年02月08日
    浏览(95)
  • git clone 命令出现提示 You must use a personal access token or SSH key解决方式

    通常我们要从一个新的github 仓库中去clone 代码时。是需要我们把自己的本地的git 的公有秘钥配置在 github 仓库中,才能正常克隆代码。 为什么需要ssh key 秘钥? 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而无需在每次访问时提供用

    2024年02月09日
    浏览(58)
  • 【Ubuntu git clone命令报错】fatal: unable to access ‘https://github.com/XXX‘: gnutls_handshake() failed:

    执行下面命令行: 报错: 解决办法: 将命令中的https改为git如下: 若出现以下错误: 解决办法:输入以下命令 再输入以下命令即可!

    2024年02月13日
    浏览(57)
  • Git学堂:30个基本Git命令

    当涉及到软件开发时,版本控制是必不可少的。它允许你跟踪你的代码变化,恢复到以前的阶段,并与你的团队在一个项目上进行合作。最流行的版本控制系统之一是Git。无论你是一个刚刚起步的初学者,还是一个希望简化工作流程的经验丰富的开发者,了解Git命令无疑是一

    2024年04月23日
    浏览(47)
  • Git基本操作命令

    目录 一、简介 二、基本命令使用 (1) git add ---将该文件添加到暂存区 (2) git status --- 命令用于查看在上次提交之后是否有对文件进行再次修改 (3) git diff -- 比较文件在暂存区和工作区的差异 (4) git commit  --- 将暂存区内容添加到本地仓库中 (5) git reset --指定退回某一次提交的版

    2024年02月05日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包