Git是现代软件开发中不可或缺的版本控制工具。它能帮助开发者跟踪项目的所有变更,并与团队成员高效协作。本文将介绍一些在项目实操中常见的Git命令,帮助你更好地管理代码。

1. 初始化和配置

初始化仓库

在一个新的项目目录中,初始化Git仓库:

git init

配置用户信息

在提交代码之前,需要配置用户信息,这些信息将记录在每次提交中:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

2. 基本操作

克隆远程仓库

从远程仓库克隆项目到本地:

git clone <repository_url>

查看仓库状态

检查当前工作目录的状态,包括已修改、未跟踪的文件:

git status

添加文件到暂存区

将文件添加到暂存区,为下一次提交做准备:

git add <file_name>  # 添加单个文件
git add . # 添加所有更改的文件

提交更改

提交暂存区的文件,并添加提交信息:

git commit -m "提交信息"

查看提交历史

查看项目的提交历史记录:

git log

3. 分支管理

创建和切换分支

创建一个新分支并切换到该分支:

git checkout -b <new_branch>

切换到已有的分支:

git checkout <branch_name>

查看分支

列出所有分支,并标记当前所在的分支:

git branch

合并分支

将指定分支的变更合并到当前分支:

git merge <branch_name>

删除分支

删除不再需要的分支:

git branch -d <branch_name>

4. 远程操作

查看远程仓库

查看当前配置的远程仓库:

git remote -v

添加远程仓库

为本地仓库添加一个远程仓库:

git remote add origin <repository_url>

推送到远程仓库

将本地分支推送到远程仓库:

git push origin <branch_name>

拉取远程更新

从远程仓库拉取更新并与本地分支合并:

git pull origin <branch_name>

克隆远程仓库

如果你还没有本地仓库,可以通过以下命令将远程仓库克隆到本地:

git clone <repository_url>

5. 高级操作

撤销更改

将工作目录恢复到上一次提交的状态(慎用):

git checkout -- <file_name>

取消暂存

将文件从暂存区移除,但保留工作目录的更改:

git reset <file_name>

修改最后一次提交

如果你需要修改最后一次提交的提交信息或包含新的更改,可以使用:

git commit --amend

查看提交历史的简洁格式

使用一行显示每个提交记录:

git log --oneline

查看变更内容

查看工作目录中与暂存区的差异:

git diff

查看暂存区与上一次提交的差异:

git diff --cached

6. 实用技巧

交互式暂存

使用交互式模式选择要暂存的文件部分:

git add -p

标签管理

为项目创建一个标签:

git tag <tag_name>

推送标签到远程仓库:

git push origin <tag_name>

清理未跟踪的文件

清理工作目录中的未跟踪文件和目录(慎用):

git clean -f -d

git篇-- Git在项目实操中常见的使用命令--02的更多相关文章

  1. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  2. ajax的项目实操(只用于记录部分文件未引入)

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. 一、基础篇--1.1Java基础-Object类中常见的方法,为什么wait notify会放在Object里边

    这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法.回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原 ...

  4. 总结工作中常见的linux命令

    本文是总结下自己在工作中遇到的常见linux 命令,会持续更新! 1.文件路径切换 进入 cd 返回上一级  cd .. 2.复制 cp 源文件名 目标文件夹 cp log.log test5 3.编 ...

  5. Window中常见的dos命令

    1.如何实行操作dos命令:如果是Windows电脑,从开始--->所有程序---->附件--->命令提示 这样就可以开始命令提示符了 2关于一些dos命令: 2.1 盘符切换:盘符 ...

  6. Window 中常见的dos命令

    在哪里操作dos命令:    win7---->开始---->所有程序---->附件---->命令提示符                              win7-- ...

  7. 网络中常见的ping命令协议

    ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之 ...

  8. ESP8266 NodeMCU小白手把手入门(实操篇)以土壤湿度和DHT传感器为例讲解读取传感器的值

    物联网使得现实世界中的实体和数字世界比以往任何时候都更紧密地联系在一起.NodeMCU作为其中的一个重要设备,作用之一就是与传感器相连以实现万物互联通讯.这篇关于NodeMCU的实操篇以土壤湿度传感器 ...

  9. 决策树算法的Python实现—基于金融场景实操

    决策树是最经常使用的数据挖掘算法,本次分享jacky带你深入浅出,走进决策树的世界 基本概念 决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数 ...

  10. R数据分析:孟德尔随机化中介的原理和实操

    中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自 ...

随机推荐

  1. ReplayKit2采用端口转发数据时不能终止的问题

    一.现象描述 测试发现在进行USB连接数据投屏中,如果点击屏幕红条进行结束ReplayKit2投屏或者通知栏点击停止录制按钮,大概率出现已经停止录屏,但是通知栏中的录屏按钮还在继续录制的问题 这个现象 ...

  2. [机器学习] 低代码机器学习工具PyCaret库使用指北

    PyCaret是一个开源.低代码Python机器学习库,能够自动化机器学习工作流程.它是一个端到端的机器学习和模型管理工具,极大地加快了实验周期,提高了工作效率.PyCaret本质上是围绕几个机器学习 ...

  3. NOIP模拟58

    T1 Lesson5 ! 解题思路 首先对于整张图求出拓扑序,然后顺着拓扑序其实也就是顺着边的方向,更新最长路,也就是从 1 节点到达这个节点的最长路. 然后再逆着拓扑序,反向求一下最长路,也就是从这 ...

  4. ajax 请求接口实例

    通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数 ...

  5. 鸿蒙HarmonyOS实战-ArkTS语言基础类库(概述)

    一.概述 1.什么是语言基础类库 语言基础类库,也称为标准库或核心库,是编程语言提供的一组内置的基础功能和常用工具的集合.它通常包含了各种数据结构.算法.输入输出处理.字符串处理.日期时间处理.文件操 ...

  6. .Net Core 部署IIS

    我相信很多人看了其他的贴子,都没有成功部署,因为里面有很多暗坑.接下来博主就一步一步给大家讲明白,带领大家部署 先基本的发布 操作:右击web项目的<发布>按钮.选文件 配置发布属性    ...

  7. linux系统下,jdk的安装和配置教程,以jdk-8u311为例

    1.官方下载 下载地址:https://www.oracle.com/ 本文以jdk8为例, 1)下载地址:https://www.oracle.com/java/technologies/downl ...

  8. Kubernetes OOM 和 CPU Throttling 问题

    介绍 使用 Kubernetes 时,内存不足(OOM)错误和 CPU 限制(Throttling)是云应用程序中资源处理的主要难题.为什么呢? 云应用程序中的 CPU 和内存要求变得越来越重要,因为 ...

  9. 判断URL是否编码,编码后的sign对签名和验签都有影响,导致验签不通过

    判断URL是否编码,编码后的sign对签名和验签都有影响,导致验签不通过如果含有 + %符号无法判断, 否则判断不准或报错 Exception in thread "main" j ...

  10. java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $

    java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $ pack ...