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. uniapp 添加操作

    1 分析: 2 需要动态的向数据库中插入数据,既然要进行添加操作,就会触发一个点击的事件,所以我们的第一步就是要先绑定事件 3 向服务器进行请求接口操作,请求的方法为 'POST' 4 最后就是在me ...

  2. 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项

    为什么会突然想到写这么一个大杂烩的博文呢,必须要从笔者几年前的一次面试说起 当时的我年轻气盛,在简历上放了自己的博客地址,而面试官应该是翻了我的博客,好几道面试题都是围绕着我的博文来提问 其中一个问题 ...

  3. DS Record

    八云蓝自动机 Ⅰ 首先我们对于操作 \(1\) 转换,我们给 \(k\) 单独再开一个点 \(a_c\),这样我们就可以把操作 \(1\) 转换成操作 \(2\) 了. 对于区间问题,我们考虑使用莫队 ...

  4. java springboot 指定运行端口

    java springboot 指定运行端口 方法1: 修改源代码里的"\src\main\resources\application.properties" 文件,增加或修改 s ...

  5. Android开发基础——真机测试错误,ADB启动不了,程序安装不了,the connection to adb is down,INSTALL_CANCELED_BY_USER...

    在Android开发中,无论是真机测试还是AVD测试,都会报出这些错误.在这里,我会详细说明一下怎么会出现这些错误的,然后要怎么样才能解决这些错误. 错误一: The connection to ad ...

  6. 开源一款功能强大的 .NET 消息队列通讯模型框架 Maomi.MQ

    目录 文档说明 导读 快速开始 消息发布者 IMessagePublisher 连接池 消息过期 事务 发送方确认模式 独占模式 消费者 消费者模式 事件模式 分组 消费者模式 消费.重试和补偿 消费 ...

  7. mysql 联合表查询从表即使有索引依然ALL的一个原因-索引ALL解决,字符编码方式不一致导致全表搜索

    mysql 联合表查询从表即使有索引依然ALL的一个原因-索引ALL解决,字符编码方式不一致导致全表搜索那就是主表和从表的关联字段的编码方式不一样!!! 产生的现象: 解决之后,正确的使用了t2.or ...

  8. C#去除时间格式化之后中间的T字母

    需求是这样的, 前后端传参,然后后端序列化把字符串存在数据库. 然后发现时间类型的字段,序列化之后 ,有个字母T, DateTime dt = DateTime.Parse("2024-05 ...

  9. centos7中的nohup和&的用法和区别

    1.&和nohup的区别 &的意思是在后台运行, 意思是说, 当你在执行 ./start.sh & 的时候, 即使你用ctrl C, 那么start.sh照样运行(因为对SIG ...

  10. 【论文阅读】RAL 2022: Receding Moving Object Segmentation in 3D LiDAR Data Using Sparse 4D Convolutions

    参考与前言 Status: Finished Type: RAL Year: 2022 论文链接:https://www.ipb.uni-bonn.de/wp-content/papercite-da ...