Git 『流程 | 基本命令 | 分支 | 推送与拉取』

这篇具有很好参考价值的文章主要介绍了Git 『流程 | 基本命令 | 分支 | 推送与拉取』。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Git简介

Git 是一个 分布式的版本控制工具,其应用场景如下:
git拉取分支,Git,git,github
结构如下:
git拉取分支,Git,git,github

2. 下载并安装Git

  1. 首先下载Git并安装,安装完后,右击鼠标会有:
    git拉取分支,Git,git,github

  2. 创建git仓库:进入想要的文件夹打开 cmdGit Bash Here,用以下命令将文件夹改造为git仓库

    -- 当前文件夹变为git空间
    git init
    

    git拉取分支,Git,git,github

    • 可以创建无数个git仓库,一般一个工程项目对应以一个git仓库。
  3. 在git仓库中,查看用户名和邮箱

    -- 参数l是list的缩写
    git config -l
    

    git拉取分支,Git,git,github

  4. 修改用户名和邮箱

    git config --global user.name 用户名
    git config --global user.email 邮箱
    

3. 跟踪

  • 第一次创建git仓库后,该仓库内的所有文件都是未被跟踪的。仓库内的文件 只有被提交到缓冲区,该文件才会被 跟踪,只有被跟踪,文件发生变化时才能被检查到。

    -- 文件放入缓冲区
    git add 文件名或目录  // 放入当个文件
    git add . 		    // 放入当前目录下的所有文件
    -- 删除跟踪
    git rm 文件名或目录名
    
  • 设置不跟踪哪些文件:

    1. 在仓库所在目录创建.gitignore文件
      git拉取分支,Git,git,github

    2. .gitignore文件中写不跟踪的文件名(可以用正则匹配)
      git拉取分支,Git,git,github

4. Git流程

git拉取分支,Git,git,github

  1. 修改后的文件,使用add命令提交到 缓冲区

    -- 放入缓冲区
    git add 文件名  // 添加当个文件
    git add 文件名1 文件名2 文件名3    // 添加多个文件
    git add .   					  // 放入当前目录下的所有文件
    
    -- 取消缓冲区的文件
    git reset head 缓冲区的文件或目录名
    
  2. 再使用commit命令将 缓冲区数据 提交到 本地仓库

    -- 提交
    git commit -m 此次提交顺带的评论   // 可以用单引号,也可以不用单引号
    git tag commitID别名    // 提交之后可以为刚刚提交生成的commitID取别名 
    -- 回退到之前或之后的某个版本
    git reset --hard 上次提交生成的commitID  // 通过 git log 命令查看
    

    注意:

    1. 第一次提交不能取消,第二、三…次都可以取消。
    2. 可以使用tag命令为生成的commitID取别名,因为commitID是一组hash值,不太方便直观展示其意义。
      git拉取分支,Git,git,github
    3. 每次commit生成新版本时,当前分支都会随着新版本移动
      git拉取分支,Git,git,github
  3. 将本地仓库代码提交到远程仓库
    git拉取分支,Git,git,github

5. 基本指令

5.1 查看仓库的状态

git status

5.2 查看所有版本

git拉取分支,Git,git,github

  • 当不小心删除了版本记录,可以使用git reflog去查看记录,得到之前的版本ID
    git拉取分支,Git,git,github

5.3 查看不同版本之间有哪些不同

  1. 先使用git log查看所有版本信息,复制要比较的版本ID
  2. 命令:git diff 版本ID1 版本ID2

5.4 版本回退

  1. 先使用git log查看所有版本信息,复制要进入的版本ID
  2. 命令:git reset --hard 版本ID
    git拉取分支,Git,git,github

6. 分支

git拉取分支,Git,git,github

6.1 分支相关命令

  1. 查看所有分支

    git branch      // 只显示本地仓库的分支
    git branch -a   // 显示本地仓库的分支、以及远程仓库的分支
    git branch -a -v  // 显示本地仓库的分支、以及远程仓库的分支;以及对应的commitID、commit评论
    git branch -a -vv // 显示本地仓库的分支、以及远程仓库的分支;以及对应的commitID、本地分支与远程的哪个分支绑定、commit评论
    

    git拉取分支,Git,git,github

    • 这个命令只是用来查看有哪些分支,对于哪些分支分别提交了几次,还是要使用上面的git log --all --pretty=onelone --abbrev-commit --graph
      git拉取分支,Git,git,github
      在 Git 中 HEAD 表示 当前分支
  2. 创建分支

    -- 1. 创建git仓库时,会自动创建一个名为 master 的分支
    -- 2. 若在master 分支的基础上还想创建新分支,使用 branch 命令
    git branch 分支名
    
  3. 删除分支

    git branch -d 分支名
    git branch -D 分支名 // 大D是强制删除分支。比如:一个分支发生了修改,但是还未合并到其它分支,此时使用小d删除该分支会失败。
    
  4. 切换分支

    git checkout 分支名  // 若分支名不存在,则切换失败
    git checkout -b 分支名  // 若分支名不存在,则创建该分支,并切换到该分支
    
  5. 分支合并

    1. 使用 merge:将两条分支的末尾连接起来,本质是将两个节点合并
      // 将分支2合并到分支1上
      -- 1. 首先切换到一个被合并的分支1上
      git branch 分支1
      -- 2. 再将分支2合并到分支1上
      git merge 分支2
      
      git拉取分支,Git,git,github
    2. 使用 rebase:将两条分支合并为一条分支 【git rebase详解(图解+最简单示例,一次就懂)】
      // 将分支2合并到分支1上
      -- 1. 首先切换到一个被合并的分支1上
      git branch 分支1
      -- 2. 再将分支2合并到分支1上
      git rebase 分支2
      
      git拉取分支,Git,git,github
    • 两者对比:
      git拉取分支,Git,git,github
    • 应用场景对比:
      1. 当新功能要合并到master,但是后续可能会修改,此时用 merge
      2. 当新功能要合并到master,且以成熟后续不会再更改,此时用 rebase
  6. 分支合并时引发冲突:因为分支之间是独立的,所以可能两个分支同时修改了某一行,此时将两者合并时,git就不知道该行该设置为什么值。解决方法如下

    1. 将一个分支合并到另一个分支上,没有提示冲突就说明没有冲突;如果提示了以下信息就说明发生了冲突:
      git拉取分支,Git,git,github
    2. 打开冲突文件,使用=====定位到发生冲突的行
      git拉取分支,Git,git,github
    3. 想修改为多少,就写多少,将其余代码删除
      git拉取分支,Git,git,github
    4. 将修改后的冲突文件提交到缓冲区:git add file01.txt
    5. 再生成新版本:git commit -m 'new'

6.2 开发中分支使用原则

git拉取分支,Git,git,github

视频连接:https://www.bilibili.com/video/BV1MU4y1Y7h5/?p=11&spm_id_from=pageDriver&vd_source=5534adbd427e3b01c725714cd93961af

7. 远程仓库 <—> 本地仓库

(1) 设置密钥

  1. 本地电脑生成密钥

    ssh-keygen -t rsa
    

    然后一路回车

  2. 复制密钥

    cat ~/.ssh/id_rsa.pub 
    

    然后复制密钥

  3. 将密钥粘贴在GitHub、Git、等远程仓库的ssh配置中
    git拉取分支,Git,git,github

(2) 远程仓库 --> 本地仓库

场景一:拉取整个项目
  1. 从远程仓库复制URL地址
    git拉取分支,Git,git,github
  2. 进入到待保存数据的文件夹,使用clone命令拉取项目
    git拉取分支,Git,git,github
场景二:只将远程仓库更新的分支抓取到本地
  • 通过以下命令拉取:

    git拉取分支,Git,git,github

    • 视频连接:https://www.bilibili.com/video/BV1MU4y1Y7h5?p=20&spm_id_from=pageDriver&vd_source=5534adbd427e3b01c725714cd93961af

(3) 本地仓库—>远程仓库

  1. 从远程仓库复制URL地址
    git拉取分支,Git,git,github

  2. 与远程仓库建立连接
    git拉取分支,Git,git,github

  3. 查看远程仓库是否连接成功
    git拉取分支,Git,git,github

  4. 把本地仓库项目推给远程仓库

    1. 直接提交此次项目:
      git拉取分支,Git,git,github

      • 参数:① -f表示强制覆盖,当本地仓库和远程仓库都修改了同一行时就会冲突。(一般情况下是不会冲突,所以可以不使用该参数)
           ② --set-upstream表示将该命令中的本地分支名和远端分支名自动绑定。这样后续再推送时,就很方便。
        1. 例子:
          git拉取分支,Git,git,github
          因为已经绑定了,所以直接push,不用再指定一些参数
          git拉取分支,Git,git,github
        2. 查看已经绑定的分支:
             git branch -vv
          
          git拉取分支,Git,git,github
      • 注意:若远程分支名 和 本地分支名相同,则可以只写一个。比如:
        git push origin master:master
        // 可以简写为:
        git push origin master
        
    2. 用此次项目替代上一次的项目,即commitID还是上次的,但是项目是此次的:
      git拉取分支,Git,git,github

常见问题:版本冲突

git拉取分支,Git,git,github
解决方法:就和之前解决分支冲突的方法一样。(远程拉取的分支也是分支,所以解决方法一样)

8. 指令大全

git拉取分支,Git,git,github文章来源地址https://www.toymoban.com/news/detail-752019.html

9. 经典问题

  • 问题:从远程仓库拉取项目之后,使用git branch查看分支,没有一个分支,连master分支都没有。解决方法:
  • 解决方法:将拉去到的项目再提交,并与远程仓库建立连接,然后从远程仓库fetch数据
    git拉取分支,Git,git,github

10. 例子:工作中指令使用

// 1. 查看状态
git status

// 2. 添加文件
git add 文件1 文件2 文件3

// 3. 从远程仓库拉取数据
git pull

// 4. 提交到本地仓库
git commit -m "icafe编号 需求标题"

// 5. 提交到远程仓库
git push origin HEAD:refs/for/master

到了这里,关于Git 『流程 | 基本命令 | 分支 | 推送与拉取』的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Git Bug记录 —— 拉取或推送,出现分支冲突

    拉取或推送时报错如下: git pull --tags origin master branch master - FETCH_HEAD ac03df346… 73ce6daae master - origin/master hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull. rebase false # mer

    2024年02月15日
    浏览(51)
  • Git小乌龟tortoisegit使用自我小结(初始化、提交、推送、拉取、新建分支、切换分支、创建空白分支)

    新建一个新文件夹File,然后进入 创建版本库 初始化之后,分支无法显示,需要创建文件并提交,才是真正的初始化 创建文件file01.txt 右键空白处,点击提交按钮 对提交内容进行操作 第一步 第二步 第一步 第二步 此方法也可以用于 文件夹里已有文件,但是不想删除,直接推

    2024年02月16日
    浏览(63)
  • 【Git教程】(八)版本库间的交换 —— 版本库的克隆与命名,分支监控、命名、拉取及推送 ~

    Git 是个分布系统,它的版本库可以有多个克隆体。因此,每个开发者都可以有一份属于自己的克隆版本库,甚至还会同时保有若干份。他们通常会设置一个用于存放中央版本库的项目服务器。这个中央版本库代表了该项目的“官方”状态,我们称之为项目版本库。该版本库往

    2024年04月13日
    浏览(36)
  • git命令行推送本地分支到远程仓库

    之前说过Git与IDEA强强联合(HTTPS协议连接)那么如何使用命令行来推送代码呢? 如下图所示为一个基于layui的前端代码: 目录工作区文件: 本地内容就是将这些内容推送到远程仓库 首先使用git命令初始化git本地仓库: git init 创建本地仓库 以出现 .git 命令为参考: 创建git仓

    2024年02月02日
    浏览(44)
  • Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)

    俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持

    2024年02月03日
    浏览(163)
  • Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】

    Git 是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库: 本地仓库和远程仓库 工作流程如下 1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull) 2.从本地进行代码修改 3.在提交前先将代码提交到暂存区 4.提交到本地仓库。本地仓库中

    2024年02月07日
    浏览(50)
  • Git(六):基本命令(3):储藏、标签、拉取、子模块

    目录 17、stash 储藏 17.2 描述 17.3 基本用法 18、tag 标签 18.1 描述 18.2 基本用法 19、fetch 获取 19.1 描述 19.2 基本用法 20、pull 整合 20.1 描述 20.2 基本用法 20.3 pull 与 fetch 的区别 21、push 更新推送 21.1 描述 21.2 基本用法 22、remote 管理 22.1 基本用法 23、submodule 管理子模块 23.1 使用场景

    2024年02月02日
    浏览(29)
  • git基本命令,分支操作,远程仓库

    介绍 安装 配置 1、本地文件修改 添加到暂存区 2、本地文件修改 不添加到暂存区 3、git reset版本穿梭 合并冲突: 删除分支 局域网:gitlab(github和gitee都是使用gitlab搭建的) 自己搭需要自己的服务器 公网:gitee / github 最好不要初始化仓库(默认会创建文件) 可以拷贝创建后的远程

    2024年01月24日
    浏览(65)
  • VScode&Git 拉取提交推送代码

    拉取在终端输git clone  + url的地址 推送前先拉取 点击第三按钮旁边就是你修改的一些项目文件了 先添加暂存区,再写提交说明,然后点commit按钮提交代码,最后点push按钮推送到GitHub(注意先pull)    

    2024年02月11日
    浏览(46)
  • Git 拉取远程分支

    第一种方法:使用 git fetch(不用先在本地创建分支)  第二种方法:使用git pull(要在本地先创建相应的分支然后再拉取),以下方法二选一。

    2024年02月11日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包