2021-09-02 常用git命令行

news/2024/11/29 22:50:20/

2021-09-02 常用git命令行

git基本概念

每个 Git 仓库中,都有一个隐藏目录 .git 用于存放 Git 仓库的相关信息,包括暂存区(称为 stage)、自动创建的 master 分支以及指向 master 分支的 HEAD 指针。

  1. 本地工作区work:在自己本地电脑里能看到的目录。在文本编辑器上改动代码文件就是改动本地工作区上的代码文件
    • 被忽略文件:本地工作区中在/.gitignore中配置的要被忽略的文件。
    • 未被跟踪文件:本地工作区中没有被忽略并且还没执行git add过一次的文件。
    • 被跟踪文件:本地工作区中没有被忽略并且已执行git add过一次的文件。
  2. 本地暂存区stage:下一次提交时的文件。一般存放在/.git/目录下的index文件,即/.git/index
  3. 本地分支:所有有联系的提交组合起来的集合,记录了一连串的文件提交修改信息。在本地版本库的某一个分支版本
    • 当前分支:当前被操作的分支,本地工作区所在的分支。与暂存区与本地工作区相关的命令就是操作的这里。
    • 非当前分支:非被操作的分支,本地其它分支。git mergegit branch操作的就是这里。
  4. 本地版本库:所有的分支组合起来的集合。在本地工作区根目录.git隐藏目录/.git/
    • 当前本地版本库:记录当前本地工作区所有的改动,一般的修改与命令都是操作这里。
    • 其它本地版本库:个人电脑上其它的版本库。一般涉及全局配置,如git软件的全局用户名或邮箱之类,就是操作并体现在这里。
  5. 远程版本库:在别的服务器上的本地版本库,一般用来做公共版本库。
  6. 远程分支:远程版本库的本地分支。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brOcqv5G-1680436733342)(./Git工作区与暂存区与版本库.jpg)]

git基本操作

根据预期目的来命令

  1. 拉取别人新的代码
       git add . //把自己的代码先提交到暂存区。git commit -m '注释' //拉取别人代码前,先保存的自己的代码到状态库中。git pull //拉取别人代码到自己的本地分支上。这一步可能会有冲突,如果有冲突,就进入解决冲突的流程中。这一步一般也需要拉取的权限,但一般知道仓库地址,并且自己是开发者时,别人都会给该权限的。
    
  2. 把自己的代码提交到远程仓库。
       git add . //把自己的代码先提交到暂存区。git commit -m '注释' //拉取别人代码前,先保存的自己的代码到状态库中。git pull //拉取别人代码到自己的本地分支上。这一步可能会有冲突,如果有冲突,就进入解决冲突的流程中。git push //把自己的代码合并到远程仓库中。这一步,需要有开发者权限,要不可能推不上去,这个权限一般别人也会给的。
    

根据具体操作来的命令

  1. 把本地工作区文件放到本地暂存区

    git add 文件名 //把本地工作区的对应文件放到本地暂存区
    git add . //把本地工作区的所有文件放到本地暂存区
    
  2. 把本地暂存区文件提交到本地分支

    git commit -m '本次把本地暂存区内所有内容提交到当前分支时的注释说明;'//把本地暂存区的所有内容一次性全部提交到当前分支并进行本次提交的注释说明,清空暂存区。
    
  3. 撤销本地工作区文件的修改

    git checkout -- 文件名//撤销本地工作区对应文件相对于当前分支上一次提交的修改
    git checkout -- .//撤销本地工作区所有文件相对于当前分支上一次提交的修改
    
  4. 撤销暂存区文件的修改

    git reset 文件名//撤销暂存区指定文件相对于当前分支上一次提交的修改,即撤销指定文件的git add操作。
    git reset .//撤销暂存区所有文件相对于当前分支上一次提交的修改
    

参考来源

  1. Git丢弃本地修改 - 较为深入;
  2. Git - 暂存区及撤销修改;
  3. 工作区和暂存区 - 廖雪峰的官方网站 - 推荐看;
  4. Git 工作区、暂存区和版本库 - www.runoob.com菜鸟教程 - 推荐看;
  5. ;

http://www.ppmy.cn/news/403782.html

相关文章

系统测试利器之挡板实战(一)

系统测试利器之挡板实战(一) - 简书 系统测试利器之挡板实战(二)系统测试利器之挡板实战(三)系统测试利器之挡板实战(四)系统测试利器之挡板实战(五)系统测试…

BGP线路是什么意思?BGP服务器租用

在选择服务器配置时是否经常听到服务器商说BGP服务器,BGP线路,对于刚接触服务器的朋友来说,BGP是什么意思?原理是什么?今天我将和你们分享 BGP通俗地讲就是一种协议,专业词称边界网关协议(BGP&…

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中,有时我们需…

RTL8211E应用(一)之芯片功能介绍

TL8211E是Realtek瑞昱推出的一款高集成的网络接收PHY芯片,它符合10Base-T,100Base-TX和1000Base-T IEEE802.3标准,可以通过CAT 5 UTP电缆及CAT 3 UTP电缆传输网络数据,该芯片在网络通信中属于物理层,用于MAC与PHY之间的…

以太网PHY层芯片LAN8720A简介

1、LAN8720A简介 2、芯片管脚配置 3、硬件电路

Nginx安装官方YUM源安装部署

注意:我使用的是Linux Rocky8.6版本,兼容部分CentOS版本,Ubuntu和其他OS版本,命令、文件路径、相关环境版本需要参考官方文档。 Nginx安装部署 安装Nginx软件的方式有很多种,分为如下几种 1.源码编译>Nginx (1.版本…

MT7628,MT7622

文章目录 1、MT76281.1 MT7628芯片简介1.2 芯片特性 2、MT76222.1 MT7622芯片简介 1、MT7628 1.1 MT7628芯片简介 MT7628 是联发科技 2014 年底发布的业界新一代 2T2R 802.11n Wi-Fi AP/路由器系统单芯片解决方案(SoC)。这款全新 SoC 为智能家庭内的数据、语音和影像应用程序…

Liunx下Intel无线网卡驱动安装

首先查看网卡型号,指令: lspci | grep -i net 如果是Intel的无线网卡,可以参考以下方法。 1.在这个页面中查找对应的无线网卡型号(以我的8260为例) 前面是型号,后面是最低系统内核版本,往下翻可…