Git-本地项目同步到远程仓库

一、Git初始化项目

git init

git init 是 Git 中用于初始化一个新仓库的命令,通常用来在现有目录中创建一个 Git 仓库或重新初始化一个现有的 Git 仓库。通过 git init,你可以将一个普通的目录转变为 Git 受控的项目目录。

在当前目录中初始化一个新的 Git 仓库。这会创建一个 .git 目录,用来存储 Git 所需的所有元数据和对象。

效果:执行后,目录将变成一个 Git 仓库,你可以在其中执行所有 Git 命令,如 git add、git commit 等。

二、Git add 操作

git add

1. 基本用法

1.1 git add

将指定的文件添加到暂存区。这个命令告诉 Git 跟踪该文件的修改。

git add filename.txt

此命令会将 filename.txt 添加到暂存区,它的修改将在下一次 git commit 时被提交。

1.2 git add

将指定目录中的所有文件递归地添加到暂存区。

git add my_folder/

此命令会将 my_folder 目录及其子目录下的所有文件添加到暂存区

1.3 git add .

将当前目录下的所有文件添加到暂存区(包括子目录中的文件)。这个命令会将所有已修改、已删除和新建的文件添加到暂存区。

git add .

1.4 git add -A

将工作区中所有已修改、已删除和新建的文件添加到暂存区,作用与 git add . 类似,但更加明确地处理已删除的文件。

 add -A

2. 常用选项

2.1 git add -p

交互式添加文件的部分修改。你可以选择性地将文件的某些部分(hunk)添加到暂存区,而不是整个文件。

git add -p
  • 用法: Git 会显示每个文件的修改,并允许你选择 y(添加)或 n(跳过)该部分的修改。
  • 应用场景: 如果你对文件做了多个不同的修改,而只想提交其中的一部分,可以使用这个命令。

2.2 git add -i

进入交互式界面,允许你选择要添加的文件。这提供了一种更灵活的方式来选择哪些文件或部分文件需要添加到暂存区。

git add -i

步骤:
1、Git 会打开一个交互式界面,你可以选择要添加的文件或文件块
2、可选择添加文件、修补文件、取消添加文件等

2.3 git add -u

只添加已被修改或被删除的文件到暂存区,不会添加新文件。

git add -u

应用场景:如果你只想添加已修改或已删除的文件,而不想添加新创建的文件,可以使用此选项。

三、Git commit

git commit 是 Git 的核心命令之一,用于将暂存区(staging area)中的更改记录到版本历史中。每次提交都会创建一个新的提交对象(commit),其中包含提交的更改、提交说明、作者信息和时间戳。通过 git commit,你可以构建项目的历史,记录每次变更。

1. 基本用法

git commit -m "commit message"

2. 常用选项详解

2.1 git commit -a

自动提交所有已修改和删除的文件到暂存区,并创建一次提交。但不会包括未被 git add 追踪的新文件。

git commit -a -m "Commit all tracked changes"
  • -a: 自动将所有已修改、已删除的文件添加到暂存区,适合快速提交修改,但不包括新文件

2.2 git commit --amend

修改最后一次提交的内容或提交信息。如果你在最近一次提交后发现信息有误,或想要添加遗漏的文件,可以使用这个选项。

git commit --amend -m "Updated commit message"
  • 用法 :修改上一次提交的内容和提交说明
  • 应用场景:修正拼写错误、遗漏文件或不想再创建一个新的提交时使用
  • 注意:如果已经将该提交推送到远程仓库,不建议随意使用 --amend,以免引发历史冲突

2.3 git commit --verbose (or -v)

显示提交时的差异信息(即文件的更改),方便检查提交内容。

git commit -v
  • 应用场景:想在提交时预览或检查文件的修改内容

2.4 git commit --no-edit

使用 --amend 选项时,保留上一次提交信息,不再要求编辑提交信息。

git commit --amend --no-edit
  • 应用场景:当只想修改提交内容,而不想修改提交说明

四、Git remote

git remote 命令用于管理 Git 仓库与远程仓库的连接。通过 git remote,可以查看、添加、修改和删除本地仓库与远程仓库的关联

1.查看远程仓库

1.1 git remote

查看当前本地仓库中配置的远程仓库名称列表。

git remote

1.2 git remote -v

查看远程仓库的详细信息,包括其对应的 URL 以及是否用于 fetch(获取)或 push(推送)。

git remote -v

输出类似如下内容:

origin  https://github.com/username/repo.git (fetch)
origin  https://github.com/username/repo.git (push)

2. 添加远程仓库

2.1 git remote add

将远程仓库添加到本地仓库中。 是远程仓库的别名(如 origin), 是远程仓库的地址(如 GitHub 上的仓库地址)

git remote add origin https://github.com/username/repo.git
  • 应用场景: 本地创建的仓库需要关联到一个远程仓库,或你有多个远程仓库需要管理。

3. 修改远程仓库

3.1 git remote set-url

更改现有远程仓库的 URL。适用于远程仓库的地址变更,如切换到新的 Git 服务平台,或更改远程仓库的协议(从 https 改为 ssh 等)

git remote set-url origin git@github.com:username/repo.git
  • 应用场景: 例如,原来的远程仓库地址使用 HTTPS,但想要切换到 SSH URL。

3.2 修改 fetch 或 push URL

如果只想修改 fetch 或 push 的 URL,可以通过如下命令:

git remote set-url --push origin git@github.com:username/repo.git

五、Git push

git push 是 Git 中用于将本地仓库中的提交推送到远程仓库的命令。它将本地分支的最新更改上传到远程仓库,从而让其他开发人员能够获取这些更改。

1. 基本用法

git push <remote> <branch>
  • <remote>远程仓库的名称,如 origin。
  • <branch>:你要推送的本地分支的名称,如 main、develop 等。

示例:

git push origin main

该命令会将本地的 main 分支推送到远程仓库 origin 上的 main 分支

2. 常用选项

2.1 git push --set-upstream

这个命令用于将本地分支与远程分支关联起来。之后,在该分支上推送时,可以直接使用 git push 而不需要再指定远程仓库和分支。

git push --set-upstream origin main
  • 应用场景:当创建了一个新分支并想推送到远程仓库时,首次需要指定 remote 和 branch,以后就不再需要手动输入了。

2.2. 推送到新远程分支

如果本地分支不存在于远程仓库中,可以通过以下命令推送该分支并在远程创建相应的分支:

git push origin <local-branch>:<remote-branch>

示例:

git push origin feature/new-feature:feature/new-feature

该命令会将本地的 feature/new-feature 分支推送到远程仓库,并在远程创建 feature/new-feature 分支。
如果不指定远程分支名,则默认会创建与本地分支同名的远程分支:

git push origin feature/new-feature

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

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

相关文章

CesiumLab介绍

软考鸭小程序 学软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 CesiumLab是一个围绕Cesium平台设计的完整易用的数据预处理工具集&#xff0c;它旨在最大化提升三维数据可视化效率。本文将详细介绍CesiumLab的安装、主要功能…

【JavaSE】图书系统

目录 当我们学习完Java的语法后&#xff0c;可以写一个简单的项目进行总结梳理一下&#xff0c;这个项目也会用到我们所学过的Java所有的语法知识&#xff1a;目录是咱们用文件夹包装起来的类。 1.book 在面向对象体系中&#xff0c;提出了一个软件包的概念&#xff0c;即&am…

electron-vite_6js-cookie失效

我们项目是用了js-cookie&#xff0c;后续集成的时候发现&#xff0c;无法进入首页&#xff1b;经过排查是js-cookie无法使用&#xff0c;可能是electron打包后的项目运行的时候是file:/// 猜测原因&#xff1a;因为Cookie是与域名相关联的&#xff0c;而file:///协议没有域名&…

k8s微服务

一 、什么是微服务 用控制器来完成集群的工作负载&#xff0c;那么应用如何暴漏出去&#xff1f;需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。 借助Service&#xff0c;应用可以实现服务发现和负载均衡。 service默认只支持4层负载均…

斯坦福大学提出电影剧本可视化工具ScriptViz:能够根据剧本中的文本和对话自动检索相关的电影画面,帮助剧作家更好地构思和调整剧情

title:斯坦福大学提出电影剧本可视化工具ScriptViz&#xff1a;能够根据剧本中的文本和对话自动检索相关的电影画面&#xff0c;帮助剧作家更好地构思和调整剧情 斯坦福大学的研究者们开发了一个电影剧本可视化工具ScriptViz工具&#xff0c;ScriptViz的工作原理可以简单地理解…

基于java SpringBoot和Vue校园食堂网站管理系统设计

摘要 本文旨在探讨一种基于Java Spring Boot和Vue框架的校园食堂网站管理系统的设计。首先&#xff0c;介绍了系统开发的背景及意义&#xff0c;即为了提高校园食堂的管理效率和改善学生的就餐体验。接着&#xff0c;详细阐述了系统的技术选型&#xff0c;包括后端采用Spring …

vue+ElementUI—实现基础后台管理布局(sideBar+header+appMain)(附源码)

后台管理的模板很多&#xff0c;vue本身就提供了完整的vue-template-admin&#xff0c;vue-admin-beautiful等后台管理系统化框架&#xff0c;但是这些框架正是因为成体系而显得繁重。假如你想搭建一个静态的后台管理模板页面和几个单独的菜单页面&#xff0c;直接就上框架是否…

C#源码安装ZedGraph曲线显示组件

在软件开发里,数据的显示,已经是软件开发的大头。 如果让数据更加漂亮地、智能地显示,就是软件的核心价值了。 因为不管数据千万条,关键在于用户看到图。因为一个图表,就可以表示整个数据的趋势, 或者整个数据的走向,数据频度和密码。所以图表显示是软件的核心功能,比如…

2.1.ReactOS系统中中断描述符表进行初始化

2.&#xff11;.ReactOS系统中中断描述符表进行初始化 2.&#xff11;.ReactOS系统中中断描述符表进行初始化 文章目录 2.&#xff11;.ReactOS系统中中断描述符表进行初始化 VOID INIT_FUNCTION NTAPI KeInitExceptions(VOID) {ULONG i;USHORT FlippedSelector;extern KIDTEN…

【计网】从零开始理解UDP协议 --- 理解端口号和UDP结构

我依旧敢和生活顶撞&#xff0c; 敢在逆境里撒野&#xff0c; 直面生活的污水&#xff0c; 永远乐意为新一轮的月亮和日落欢呼。 --- 央视文案 --- 从零开始理解UDP协议 1 再谈端口号2 理解UDP 报头结构3 UDP 的特点4 UDP 的缓冲区5 UDP 使用注意事项 1 再谈端口号 之前我…

自然语言处理问答系统

自然语言处理&#xff08;NLP&#xff09;问答系统是一种自动化系统&#xff0c;旨在接收自然语言查询并提供相应的答案。以下是对自然语言处理问答系统的详细描述&#xff0c;包括其架构、关键组件、实现方法、挑战与解决方案等。 1. 系统架构 自然语言处理问答系统通常由以…

Ubuntu 24.04 在 BPI-F3 上通过 SD 卡安装并从 NVME 运行

github 代码&#xff1a; https://github.com/rcman/BPI-F3 Ubuntu 24.04 现在正在我的 BPI-F3 上运行。很快会为 YouTube 制作一个视频。 这应该适用于任何版本的 Linux&#xff0c;仅在 Ubuntu 24.04 上测试过 入门 下载 Bianbu映像并使用您最喜欢的工具将其映像到微型 SD 卡…

服务器、jvm、数据库的CPU飙高怎么处理

服务器 CPU 飙高处理 排查步骤&#xff1a; 监控工具&#xff1a;使用操作系统自带的监控工具&#xff0c;比如 top、htop、sar、vmstat 等&#xff0c;查看哪些进程占用了大量的 CPU 资源。进程排查&#xff1a;通过 top 等工具找到消耗 CPU 最高的进程&#xff0c;确定是哪…

如何在冻结的MSA内部更改q,k,v的形状

在冻结多头自注意力&#xff08;MSA&#xff09;层的参数的情况下&#xff0c;若希望更改 q&#xff08;查询&#xff09;、k&#xff08;键&#xff09;、v&#xff08;值&#xff09;的形状&#xff0c;可以通过修改这些矩阵的输出维度或重新排列它们的维度&#xff0c;而不需…

【MongoDB】mongodb | 部署 | 常用命令

一、概述 基于mongodb的tcp连接无数据上报&#xff0c;服务器强踢监测。 物联网项目&#xff0c;tcp协议&#xff0c;基于4G卡&#xff0c;设备由于某些原因会断开重连&#xff0c;但是tcp没有断开&#xff0c;导致tcp持续累加&#xff0c;浪费资源。 建立机制&#xff1a; 当t…

解决一个android service启动无法开文件的问题

问题描述 android hal层一般是通过service给系统提供服务的。一般需要将service配置为开机启动。调试阶段&#xff0c;我直接将service push到板卡上&#xff0c;进行调试&#xff0c;未出现问题无法开的问题。在最后集成完成后&#xff0c;放到板卡上&#xff0c;出现启动无法…

【win10】VMware Workstation 16安装win10专业版及安装VMware Tools操作说明

参考链接 VMware虚拟机安装win10系统教程&#xff08;巨细&#xff09;_vmware安装win10-CSDN博客https://blog.csdn.net/gdidea/article/details/129523700 win10专业版安装说明 下载win10安装包 百度网盘 链接: https://pan.baidu.com/s/1kf4ORdXYgcqwAz2j86LSZw?pwdk4…

MySQL-数据库的基础操作 o(´^`)o

文本目录&#xff1a; ❄️一、数据库操作&#xff1a; ☑ 1、查看所有的数据库&#xff1a; ☑ 2、创建数据库&#xff1a; ☑ 3、使用数据库&#xff1a; ☑ 4、删除数据库&#xff1a; ❄️二、常用的数据类型&#xff1a; ➷ 1、数值类型&#xff1a; ➷ 2、字符串类型&a…

【2D/3D-Lidar-SLAM】 Cartographer详细解读

【2D/3D-Lidar-SLAM】 Cartographer详细解读 1. 摘要2. Cartographer系统数据处理流程2.1. 数据获取&#xff08;Input Sensor Data&#xff09;2.2 姿态外推器&#xff08;PoseExtrapolator&#xff09;2.3 局部建图&#xff08;Local SLAM&#xff09; 3. 关键模块实现 3.1 局…

【无标题】react组件封装

子组件制作 import { useState,useRef, useEffect} from "react"const Table (data)> {const {value ,option} dataconsole.log(value)const [stata,setValue] useState()const useRefs useRef(value)useEffect(()> {useRefs.current.value value })c…