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. JavaScript 中的 Range 和 Selection 对象

    JavaScript 中的 Range 和 Selection 对象 前言 最近在做鼠标框选的需求,鼠标框选就需要用到 Range 和 Selection 对象. Range 表示选择的区间范围,Se ...

  2. 通过钩子函数+Traceid实现Flask链路追踪

    背景 在flask web中我们通常需要一个traceid作为调用参数传递给全链路各个调用函数 需要针对一次请求创建一个唯一的traceid:这里用uuid去简化代替 我们需要保证traceid不被污 ...

  3. NumPy 通用函数(ufunc):高性能数组运算的利器

    NumPy 通用函数(ufunc) 简介 NumPy 通用函数(ufunc),代表"通用函数",是一类用于对 ndarray 对象进行逐元素运算的高性能函数.ufunc 使 Num ...

  4. react兄弟之间通信

    写入组件 import React, { Component } from 'react'//下面二个就是兄弟关系的组件 import Cmp1 from '../Child/Cmp1' import ...

  5. ABC347题解

    省流:输+赢 D 按位分析. 既然两个数异或后的结果是 \(C\),那就考虑 \(C\) 中为 \(1\) 的数中有几个是在 \(X\) 当中的. 假如 \(\text{a - popcnt(X) = ...

  6. INTEL S4500 960G 入手评测

    INTEL S4500 960G 入手评测 简易上个图: CDI AS SSD: CDM: AS SSD AND CDM: -

  7. 基于redis的选主功能设计

    需求背景 在JAVA应用开发过程中,越来越多的项目采用了微服务架构,而采用微服务架构最直接作用是可以实现业务层解耦,有利于研发团队可以从业务层面进行划分,比如某几个人的小团队负责某几个微服务,总之,从 ...

  8. Java类加载和对象创建

    引言 Java代码需要被使用,必须要经过类加载器加载到内存中,然后对应的类才能够被创建使用,这文对类加载和对象创建和过程进行分析. 类加载 Java类通过懒加载的方式,经过了Loading.Linki ...

  9. InvalidOperationException Cannot modify ServiceCollection after application is built .Net6 异常

    背景 我用了一个叫Unchase.Swashbuckle.AspNetCore.Extensions的库来加强Swagger的文档,我一般写法是这样的: builder.Services.AddSwa ...

  10. Operational Property Graphs到底是个啥?

    Operational Property Graphs,中文通常译为"操作属性图". 作为23ai中被官方highlight出的新特性之一,我们先看下官方的原文描述: Operat ...