Git分布式版本控制工具和GitHub(二)--Git指令入门

news2024/11/13 11:10:39

一.指令入门前的准备

1.Git全局设置

 2.获取Git仓库

 

 

例如:将我GitHub上的first_resp仓库克隆到本地。

 点击进入first_rep,后面本地仓库操作的学习就是在这个界面右键打开Git Bash

3.工作区,暂存区,版本库概念

 注:如果空仓库就没有index文件

4.Git工作区中文件的状态

二.本地仓库操作相关的命令

//1.查看文件状态
git status

//2.查看日志,也可以写成git-log
git log

//3.将文件的修改加入暂存区
//格式:git add 单个文件名|通配符
git add User.java//将User.java文件添加到暂存区
git add *//添加所有文件到暂存区

//4.将缓存区的文件提交到版本库
git commit -m "init resp" User.java//-m后面带的注释内容

///5.将暂存区的文件取消暂存或切换到指定版本
git reset User.java//将暂存区的User.java取消暂存
git reset --hard 090950e68ecc099c5c021194d14b18d713880b75
//回溯回之前的版本,hard后面长长的那串是版本号,怎么知道呢?
//输入git log然后commit后面就是版本号

//6.查看已经删除的提交记录
git reflog

 注:
git status--查询状态
创建一个文件,未使用git add,则为未跟踪状态,说白了就是git没有去管理这个文件。
使用git add后就会变成已暂存状态。
使用git commit,就会变为未修改状态,然后修改文件后就会变为已修改状态
具体参照前面一种Git工作区中文件的状态

三.远程仓库操作相关的命令

//1.查看远程仓库,它会列出每一个远程服务器的简写。

//如果已经克隆了远程仓库,那么至少应该能看到origin,
//这是Git克隆的远程仓库服务器的简称(默认名字)
git remote
//输入下面这行命令就会显示详细信息,即服务器的http地址
git remote -v

//2.添加一个新的远程仓库,同时指定一个可以引用的简写
git remote add <shortname><url>

//3.克隆远程仓库到本地
//如果你想获得一份已经存在了的Git远程仓库的拷贝,这是就要用到git clone命令。
//Git克隆的是该Git仓库服务器上的几乎所有数据(包括日志信息,历史记录等)
//格式:git clone[url]
git clone https://github.com/Flying-pig-z/first_rep

//4.将本地仓库内容推送到远程仓库的指定分支中
//格式:git push [remote-name][branch-name]
//remote-name是什么:就是前面的origin(远程仓库的别名),branch-name:分支的名称
//只有提交到本地仓库,才能推送到远程仓库,顺序不能搞反[add->commit->push]
git push origin master
//推送到远程的主分支

//5.从远程仓库拉取,多人协作时使用
//格式:git pull[short-name][branch-name]
git pull origin master

重中之重:注意顺序add->commit->push,只有push后才上传到远程仓库

注:
【1】在使用git push命令时候报错:
fatal: unable to access 'https://github.com/.......': OpenSSL SSL_read: Connection was reset, errno 10054
那么直接执行一次git config --global http.sslVerify "false"命令来取消ssl解决问题

【2】git push第一次要使用要身份验证,你会发现你用户名和密码输对了还是报错,
解决方案:
Git提交时报错Logon failed, use ctrl+c to cancel basic credential prompt.. - 简书

【3】注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories)
解决此问题可以在git pull命令后加入参数--allow-unrelated-histories

四.分支操作的命令

分支操作的概念

分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init属性创建本地仓库时默认会创建一个master分支。

下面介绍分支的相关命令

//1.查看分支
git branch//列出所有本地分支
git branch -r//列出所有远程分支
git branch -a//列出所有本地分支和远程分支

//2.创建分支
//格式:git branch[name]
git branch newBranch

//3.切换分支
//格式:git checkout [name]
git checkout newBranch

//4.推送至远程仓库分支
//格式:git push[shortName][name]
//shortName就是远程仓库的别名,也就是origin
git push origin newBranch

//5.分支合并,把不同分支的文件合并到一起
//格式:git merge[name]
git merge b3
//使用这个命令会进入日志编辑模式,按i编辑,按esc退出

//6.合并分支
git branch -d newBranch//删除分支时,需要做各种检查
git branch -D b1//不做任何检查,强制删除

注:
分支的使用
【1】比如我们在本地文件夹中创建文件666.txt,然后git add 666.txt,该文件就从本地的工作区进入到本地暂存区,然后git commit 666.txt,这样该文件就从本地的暂存区进入到了本地的仓库的某个分支(即你当前操作的分支)。
【2】这时你切换到别的分支,比如你commit的时候是在master分支中操作的,你用git checkout newBranch切换到newBranch分支(前提是你之前有创建过该分支),然后你就会发现在本地仓库中的666.txt文件消失了,只有重新切换为master分支才重新出现。
【3】然后你再git push original master,就是将master分支上传,你就会发现此时GitHub仓库中的master分支更新多了个666.txt,而newBranch分支没有。

 

以上就是分支的使用。由此我们可以看到,通过分支,程序员的合作开发可以做到相互独立,互不干扰。

五.标签操作的命令

//列出已有的标签
git tag

//创建标签
//格式:git tag [name]

//将标签推送至远程仓库
//格式:git push [shortName][name]

//检出标签
//格式:git checkout -b [branch][name]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/815808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例研究|康明斯中国通过JumpServer搭建统一的运维安全审计平台

作为全球动力技术先行者&#xff0c;康明斯&#xff08;中国&#xff09;投资有限公司&#xff08;以下简称为康明斯中国&#xff09;设计、制造、分销多元的动力解决方案&#xff0c;并提供服务支持。公司产品囊括柴油及天然气发动机、发电机组、交流发电机、排放处理系统、涡…

使用AOP切面对返回的数据进行脱敏的问题

1.注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** Author: xiaoxin* Date: 2023/7/21 17:15*/ Retention(RetentionPolicy.RUNTIME) Targe…

java连接sftp服务器实现上传下载

一、准备SFTP服务器 我目前使用的是freeSSHd.exe,下载后按照步骤一步步安装&#xff0c;最后俩弹窗&#xff0c;第一个选是&#xff0c;第二个选否。 二、基础配置 双击打开安装好的程序&#xff0c;在右下角找到图标&#xff0c;右键&#xff0c;setting 按照步骤配置 …

根据端口号查找服务位置

已知服务的IP和端口&#xff0c;查找该服务所在位置 1、打开命令提示符&#xff08;CMD&#xff09; WINR快捷键打开运行对话框&#xff0c;输入CMD&#xff0c;回车即可。 2、找到对应的PID或程序名称 输入netstat -ano|findstr 端口号&#xff0c;回车找到对应的PID&…

msvcp140.dll丢失怎么修复?《绝地求生》报错msvcp140.dll丢失修复方法

在我运行《绝地求生》游戏的时候&#xff0c;出现msvcp140.dll丢失的错误提示时&#xff0c;感到有些困扰和不安&#xff0c;不知道该如何解决这个问题。同时&#xff0c;我也会担心这个问题会对我使用电脑产生什么不利影响。在尝试解决这个问题之前&#xff0c;我开始意识到我…

ScrumMaster认证课-PSM,了解一下

在敏捷学习的道路上继续前行&#xff0c;Leangoo领歌的PSM课程已经开启&#xff0c;认证全球认可&#xff0c;还不用续证&#xff0c;可以了解一下。 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架&#xff0c;旨在最短时间内交…

Java课题笔记~数据库连接池

一、数据库连接池 1.1 数据库连接池简介 数据库连接池是个容器&#xff0c;负责分配、管理数据库连接(Connection) 它允许应用程序重复使用一个现有的数据库连接&#xff0c;而不是再重新建立一个&#xff1b; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数…

前端Vue入门-day05-自定义指令、插槽、路由入门

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 自定义指令 基本语法 (全局&局部注册) 全局注册 局部注册 指令的值 v-loading 指令封装 插槽 …

电子贺卡蓝牙芯片,支U盘/SD卡音频播放蓝牙IC,WT2605-32N-L009

喜庆的时刻&#xff0c;向亲朋好友送上一份特别的祝福&#xff0c;是传递情谊、增进感情的最佳方式。然而&#xff0c;传统贺卡的简单文字和图片已经无法满足我们对个性化、创意化的需求。现在&#xff0c;深圳唯创知音&#xff0c;带来了一款颠覆传统贺卡的全新蓝牙BLE方案——…

使用Windbg分析从系统应用程序日志中找到的系统自动生成的dump文件去排查问题

目录 1、尝试将Windbg附加到目标进程上进行动态调试&#xff0c;但Windbg并没有捕获到 2、在系统应用程序日志中找到了系统在程序发生异常时自动生成的dump文件 2.1、查看应用程序日志的入口 2.2、在应用程序日志中找到系统自动生成的dump文件 3、使用Windbg静态分析dump文…

ardupilot 如何安装intelhex模块

目录 文章目录 目录摘要1.下载资源1.下载需要的软件2.编译带bt的固件摘要 本节主要记录ardupilot如何安装intelhex模块,实现编译ardupilot的bootloader文件并生成bootloader文件和固件合并的.hex文件。 1.下载资源 1.下载需要的软件 下载网址 intelhex-2.3.0.tar.gz 下载…

笔记本触摸板没反应怎么办?只需要4个方法!快速解决!

“大家知道为什么笔记本触摸板没反应吗&#xff1f;我的鼠标不见了现在触摸板也没反应&#xff0c;根本就用不了电脑了&#xff0c;有什么方法可以解决吗&#xff1f;” 触摸板是笔记本电脑上最重要的输入设备之一&#xff0c;它可以提供便捷的操作方式。对于很多朋友来说&…

SQL 执行计划管理(SPM)

一、SPM 需求背景 任何数据库应用程序的性能在很大程度上都依赖于查询执行&#xff0c;尽管优化器无需用户干预就可以评估最佳计划&#xff0c;但是 SQL 语句的执行计划仍可能由于以下多种原因发生意外更改&#xff1a;版本升级、重新收集优化器统计信息、改变优化器参数或模式…

Golang之路---01 Golang VS Code创建项目

Golang VS Code创建项目 代码组织 Golang使用包和模块来组织代码&#xff0c;包对应到文件系统就是文件夹&#xff0c;模块就是xxx.go的go源文件。一个包中会有多个模块&#xff0c;或者多个子包。 早期使用的是gopath来管理项目&#xff0c;不方便&#xff0c;比较麻烦&…

QWidget窗口类

QWidget窗口类 设置父对象窗口位置窗口尺寸窗口标题和图标信号槽函数例子1例子3例子3 设置父对象 // 构造函数 QWidget::QWidget(QWidget *parent nullptr, Qt::WindowFlags f Qt::WindowFlags());// 公共成员函数 // 给当前窗口设置父对象 void QWidget::setParent(QWidget…

中药配方煎药-亿发智能中药汤剂煎煮系统,智慧中药房的数字化升级

随着中药的普及&#xff0c;在治病、养生等方面都发挥这积极作用&#xff0c;但中药煎煮过程繁琐&#xff0c;如果有所差错将会影响药品的药性。为了满足当今用户对中药的需求&#xff0c;增强生产效率和业务水平&#xff0c;亿发中药煎配智能管理系统应运而生&#xff0c;为用…

线程同步问题——锁

文章目录 线程同步互斥锁&#xff08;互斥量&#xff09;相关操作函数应用 死锁读写锁相关操作函数 线程同步 临界区——代码 临界数据——共享数据 原子操作&#xff1a;不可以被其他操作打断 必须的&#xff0c;用以保证数据的安全性 实现线程同步的方式&#xff1a; 互斥量…

第十四章、【Linux】磁盘配额与进阶文件系统管理

14.1 磁盘配额 &#xff08;Quota&#xff09; 的应用与实作 14.1.1 什么是 Quota 在 Linux 系统中&#xff0c;由于是多用户多任务的环境&#xff0c;所以会有多人共同使用一个硬盘空间的情况发生&#xff0c; 如果其中有少数几个使用者大量的占掉了硬盘空间的话&#xff0c…

数字人会成为文旅行业的新增量吗?写实数字人定制包含哪些技术?

近年来&#xff0c;各大文旅机构均在围绕数字人展开了文旅营销创作&#xff0c;凭借着写实数字人定制技术&#xff0c;将数字人的人设、功能以及才艺得到创新&#xff0c;并由此在文旅形态上展开了诸多尝试。 比如会唱山歌多才多艺的数字人刘三姐&#xff0c;使用多种语言推介…

【Docker】Docker的工具实践及root概念和Docker容器安全性设置的详细讲解

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…