Git常用命令与基本操作

Git操作指令

  • 系统配置
  • 基本命令
    • 获取/删除Git仓库
    • 更新记录
    • 撤销操作
    • 远程仓库的使用
  • 分支系统

系统配置

git config 为系统自带的配置指令,它可以控制GIT的行为和外观

配置用户信息
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
--global选项表示全局,只需要运行一次,如果没有特别配置,那么都将使用上述配置信息
如果需要为某个项目单独设置用户名和邮箱,运行没有--global选项的指令即可git config user.name "Tom Hasns"

配置默认文本编辑器
git config --global core.editor emacs设置emacs为默认的文本编辑器,emacs是Linux和Mac上常用的文本编辑器

检查配置
使用git config --list检查配置,也可以使用git config <key>单独检查某项配置,如git config user.name

获取帮助
有三种方式可以获取帮助 git help <verb>git <verb> --helpman git-<verb>

基本命令

获取/删除Git仓库

获取Git仓库的方式有两种,第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器
克隆一个现有的 Git 仓库

创建仓库 git init,在当前文件夹创建一个名为.git的子目录,该目录中包含Git仓库所有的必须文件,并且该目录为隐藏属性

克隆仓库 git clone <url>,会在当前文件夹创建目标项目文件夹,然后将目标项目文件及仓库全部下载到目标文件夹中,值得注意的是,该命令只能下载当前活动分支。也可以指定目标文件夹git clone <url> <dirname>

删除仓库 git rm -rf .git,实际上就是删除.git文件夹,使用命令行删除或者手动删除都可以

更新记录

检查文件状态 git status

跟踪新文件 / 暂存已修改文件 git add <filename>

忽略文件touch .gitignore,创建一个名为 .gitignore的文件(手动创建也可以), cat .gitignore查看/列出要忽略的文件模式

提交更新git commit,提交更新时,默认只会提交暂存区里的文件,并且调用默认文本编辑器以便输入本次提交的说明,推荐使用-m选项的方式输入提交说明git commit -m "commit explain"
还可以使用-a选项来跳过暂存区,将所有已跟踪文件暂存起来一并提交git commit -a -m "all file"

移除文件git rm从跟踪文件清单中移除,并且将实际文件一并删除,-f强制删除,--cached从仓库中移除并且不再跟踪,但保留实际文件

移动文件git mv <file_from> <file_to>移动文件指令也可以对用于对文件改名

查看提交历史git log-p用来显示每次提交的内容差异,也可以使用-2来查看最近2次的提交内容

撤销操作

当操作错误时,我们通常需要用到撤销操作,以便重新提交,下面几个方法可以达到类似效果

重新提交 git commit --amend当我们提交完后发现漏掉几个文件没有添加,或者提交提交信息写错了,可以运行带有--amend选项的提交命令尝试重新提交,它将覆盖上一次的提交结果

git commit -m 'initial commit'
git add forgotten_file
git commit --amend

取消暂存文件 假如修改了两个文件,希望他们作为两次独立提交,但是却意外地输入了git add *暂存了它们两个。 如何只取消暂存两个中的一个呢?git status命令给出了提示(use "git reset HEAD <file>..." to unstage),使用git reset HEAD <file>...

撤销对文件的修改 git checkout -- <file>...将文件还原成上一次提交的状态

远程仓库的使用

查看远程仓库 git remote 命令会列出你指定的每一个远程仓库的简写,如果克隆了一个仓库,那至少可以看到origin,这是Git给克隆仓库服务器的默认名字,使用-v选项可以看到远程仓库简写和对应的URL

添加远程仓库git remote add <shortname> <url>

拉取数据 git fetch [remote-name] [branch-name]从远程仓库中拉取所有你还没有的数据,执行完后将拥有远程仓库中所有分支
git pull [remote-name] [branch-name]

推送数据 git push [remote-name] [branchname]将数据推送到远程分支

分支系统

查看分支 git branch-r查看远程分支,-a查看所有分支(远程和本地),-v查看每一个分支最后一次提交

创建分支 git branch <branch-name>-d删除分支

切换分支 git checkout <branch-name>-b创建并切换到该分支

合并分支 git merge <branch-name>将branch-name分支合并到当前分支

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

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

相关文章

CA周记 - 在 Azure ML 上用 .NET 跑机器学习

.NET 是一个跨平台&#xff0c;全场景应用的开源技术。你有在用 .NET 做机器学习/深度学习的应用吗&#xff1f;如果从框架角度&#xff0c;ML.NET / Tensorflow.NET / 不断在进步的 TorchSharp 通过几年的发展已经开始稳定&#xff0c;但如果在一些大型项目上&#xff0c;特别…

iOS10 优化APP首次安装网络权限提示方案

我刚经历了一场末日&#xff08;停电&#xff09;&#xff0c;特别是在你想写文档的时候。。。 言归正传&#xff0c;今天的问题是解决iOS10系统下首次按钮APP弹出的网络权限提示所带来了问题以及优化。 起因 查了相关文章知道由于大陆工信部出台的新规指出&#xff0c;应用在未…

su命令

从一个用户切换到另一个用户&#xff1a;su - ceshi(ceshi是用户名) 查看当前用户&#xff1a;whoami 在不切换用户的情况执行另一个用户的命令&#xff1a;例&#xff1a;su - -c "touch /tmp/111.txt" admin 若用户没有加目录需要添加家目录&#xff0c;并更改所有…

C语言基础知识【数据类型】

C 数据类型1.在 C 语言中&#xff0c;数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间&#xff0c;以及如何解释存储的位模式。2.C 中的类型可分为以下几种&#xff1a;序号 类型与描述1 基本类型&#xff1a;它们是算…

PS批量替换内容

在制作图片物料的时候&#xff0c;有时会碰到需要制作大量内容格式一致&#xff0c;但部分文字或图片不同的图片&#xff0c;这里我们使用PS的变量功能 物料准备&#xff1a;准备好需要替换的图片和文字&#xff0c;使用excel制作出需要替换的内容&#xff0c;第一行name和pic…

在 .NET 中执行 JavaScript 代码

你好&#xff0c;这里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;实用的工具和组件&#xff0c;希望对您有用&#xff01;Jint 简介如果您想在您的 .NET 程序中使用 Javascript&#xff0c;那么我推荐您使用 Jint。Jint 是适用于 .NET 的 开源 Javascript 解…

【本周面试题】第5周 - 开发工具相关

待整理转载于:https://www.cnblogs.com/padding1015/p/10095424.html

JS 返回上一步(退回上一步上一个网页)

链接式&#xff1a; <a href"javascript:history.go(-1)">返回上一步</a> <a href"<%Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a> 按钮式&#xff1a; <INPUT name"pclog" type&quo…

jmeter多用户登录跨线程组操作传值

项目需求&#xff1a; 需要登录两个用户A、B&#xff0c;用户A操作完后会通知B&#xff0c;然后B再操作&#xff0c;B操作完结束或者再通知A。 实现思路&#xff1a; 1. 设置两个线程组Ⅰ、Ⅱ&#xff0c;组Ⅰ添加cookie管理器&#xff0c;里面添加用户A的操作&#xff1b;组Ⅱ…

手动修改美化7zip图标 - 附替换文件

手动修改7zip图标理论知识制作ico图标文件替换资源重建图标缓存效果图替换文件7-Zip的自带图标是公认的丑&#xff0c;所以网上有很多7-Zip的图标美化工具&#xff0c;用的最多的就是 7-Zip Theme Manager&#xff0c;自带很多主题&#xff0c;但是最近我再使用7zTM修改图标是却…

.NET性能优化-复用StringBuilder

在之前的文章中&#xff0c;我们介绍了 dotnet 在字符串拼接时可以使用的一些性能优化技巧。比如&#xff1a;为StringBuilder设置 Buffer 初始大小使用ValueStringBuilder等等 不过这些都多多少少有一些局限性&#xff0c;比如StringBuilder还是会存在new StringBuilder()这样…

如何使用vue组件搭建网页并打包发布

vue组件化项目搭建及编译打包发布引言开发环境开发环境介绍开发环境安装使用模板创建项目编译及打包发布引言 最近开始学习Vue&#xff0c;Vue 是一个前端框架&#xff0c;特点是数据绑定和组件化。网上很多教程&#xff0c;数据绑定和组件学习起来也都不困难&#xff0c;但是…

MyBatis 分页插件 PageHelper

插件官网 简介&#xff1a; 支持常见的 12 种数据库。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等&#xff1b; 支持常见的RowBounds(PageRowBounds)&#xff0c;PageHelper.startPage 方法调用&#xff0c;Mapper 接口参数调用&#xff1b; 获取maven配置 示例&…

Facebook揭秘其应用测试平台,并开源核心技术

本周&#xff0c;Facebook让一群记者参观了它位于俄勒冈州普赖恩维尔市的数据中心&#xff0c;在这个过程中也展示了他们的一个移动应用测试实验室&#xff0c;用来测试Facebook app、 Messenger 和Instagram。 目前 这个实验室总共含有60个机架&#xff0c;每个机架上放置32台…

责任链模式 职责链模式 Chain of Responsibility Pattern 行为型 设计模式(十七)

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;职责链模式意图 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接受者之间的耦合关系将这些对象连接成一条链&#xff0c;并沿着这条链传递请求&#xff0c;直到有一个对象处理它为止。责任…

YOLOv7 在 ML.NET 中使用 ONNX 检测对象

本文介绍如何在 ML.NET 中使用 YOLOv7 的 ONNX 模型来检测图像中的对象。什么是 YOLOYOLO&#xff08;You Only Look Once&#xff09;是一种先进的实时目标检测系统。它是一个在COCO数据集上预训练的物体检测架构和模型系列&#xff0c;其版本也是在不断优化更新。2022年7月&a…

Vue中render: h = h(App)的含义

原文地址&#xff1a;Explanation for render: h > h(App) please 翻译如下&#xff1a; render: h > h(App) 是下面内容的缩写&#xff1a; render: function (createElement) {return createElement(App); }进一步缩写为(ES6 语法)&#xff1a; render (createElem…

NppFTP小插件的使用

大家在Linux系统中配置运行环境时&#xff0c;一定会遇到相关配置文件的修改&#xff0c;虽说在Linux系统中可以使用vi,vim的命令进行文本编辑&#xff0c;但是操作起来还是没有在Windows系统中用的爽&#xff0c;特别是操作大文本量的文件时。Notepad里提供了一个小插件&#…

『实战』使用Excel催化剂二维码功能批量生成带不同图案二维码。

熟悉Excel催化剂的老读者都知道&#xff0c;每逢图书大促&#xff0c;笔者都会向出版社申请优惠码优惠券来惠及广大粉丝。当然公众号上帮出版社推荐图书&#xff0c;会有佣金回报&#xff0c;这也是笔者唯一能接受的推广方式。公众号自创立以来&#xff0c;没有接过软文&#x…

springboot ElasticSearch 简单的全文检索高亮

前阵子和张三丰聊天提到了es。这次正好有机会学习并使用 首先引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> 配置文件 spring.data.…