从零开始:Git 上传与使用指南

Git 是一种非常强大的版本控制系统,它可以帮助您在多人协作开发项目中更好地管理代码版本,并确保每个团队成员都能及时地获取最新的代码更改。在使用 Git 进行版本控制之前,您需要先进行一些设置,以确保您的代码能够顺利地与远程仓库同步。


一:安装 Git:

首先,您需要确保您的计算机上已经安装了 Git。

(然后打开CMD,看一下是否下载成功)

二:创建仓库

在您的本地计算机上创建一个新的文件夹,作为您的代码仓库。

在命令行中进入该文件夹(或者是在文件夹中右击可以看到),并运行以下命令初始化一个新的 Git 仓库:

git init

这将创建一个名为 ".git" 的子文件夹,其中包含 Git 所需的所有元数据和配置文件,如下图:

三: 添加文件

使用以下命令将文件添加到 Git 的跟踪列表中:

git add <file>

一般都是下面这个全部上传:

git add .

四:提交更改(注释)

当您对文件进行了更改并希望将它们提交到仓库中时,请运行以下命令:

git commit -m "Commit message"

这将创建一个新的提交,并将您的更改保存在本地仓库中。

五:推送到远程仓库

运行以下命令来添加远程仓库:

git remote add origin <URL>
其中,<URL> 是远程仓库的 URL。
例如,如果您要将代码推送到 GitHub 上,可以使用类似以下命令的 URL:
git remote add origin https://github.com/username/repository.git

然后,使用以下命令将您的本地更改推送到远程仓库:

git push -u origin master

这将把您的本地分支推送到远程仓库的 master(main) 分支上。如果您使用的是其他分支,请相应地更改分支名称。第一次推送时,您还需要使用 "-u" 或 "--set-upstream" 选项来设置本地分支跟踪远程分支。以后您只需使用以下命令即可推送更改:

git push origin <branch-name>

六:拉取最新代码

从远程仓库拉取最新的代码更改时,用以下命令:

git pull origin <branch-name>

这将从远程仓库的指定分支拉取最新的代码更改,并将其合并到您的本地分支中。

七:解决冲突

当您尝试拉取最新的代码更改时,如果本地分支和远程分支之间存在冲突,Git 会停止合并过程并显示冲突的文件。您需要手动编辑这些文件,解决冲突,并将更改提交到本地仓库。解决冲突后,您可以使用以下命令将更改推送到远程仓库:

git push origin <branch-name>

允许合并不相关的历史

git pull origin main --allow-unrelated-histories

八:查看提交历史

要查看您的提交历史记录,可以使用以下命令:

git log

您还可以使用以下命令来查看更详细的提交历史记录:(包括分支和标签信息)

git log --oneline --decorate --graph --all

九:分支管理

Git 允许您创建和管理多个分支。要创建一个新分支,请使用以下命令:

git branch <branch-name>

要切换到新分支,用以下命令:

git checkout <branch-name>

要合并分支,用以下命令:

git merge <branch-name>

 十:标签管理

Git 还允许您为特定的提交添加标签。要创建一个标签,请使用以下命令:

(<tag-name> 是标签的名称,<commit-hash> 是提交的哈希值。)

git tag <tag-name> <commit-hash>

要将标签推送到远程仓库,请使用以下命令:

git push origin <tag-name>

配置和使用 Git 

Git 钩子是 Git 仓库中的一种机制,可以在特定事件发生时触发自定义脚本。例如,您可以在 Git 钩子的 pre-commit 事件中运行代码检查工具,以确保代码质量。要配置 Git 钩子,请进入您的 Git 仓库的根目录,并创建一个名为 ".git/hooks" 的文件夹(如果尚不存在)。然后,在该文件夹中创建一个以钩子事件命名的脚本文件,例如 "pre-commit"。在脚本文件中,您可以编写您想要在相应事件发生时执行的命令或脚本。确保脚本文件具有可执行权限。

自定义 Git 命令

如果您经常使用某些 Git 命令,您可以创建自定义 Git 命令来简化工作流程。在您的 Git 仓库的根目录下创建一个名为 ".git/hooks/custom" 的文件夹(如果尚不存在)。然后,在该文件夹中创建一个以自定义命令命名的脚本文件。在脚本文件中,您可以编写您想要执行的 Git 命令。例如,您可以创建一个名为 "git-sync" 的自定义命令,用于将本地更改推送到远程仓库并拉取最新代码。

通过学习本文,您将能够熟练掌握Git的基本操作,并能够在多人协作开发项目中更好地管理代码版本,确保代码的质量和可追溯性。无论是对于初学者还是有一定经验的开发者,本文都是一个不可或缺的Git使用指南。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务环境搭建:docker+nacos单机

nacos需要连接mysql&#xff0c;持久化相关配置。 1. 部署好mysql后&#xff0c;新建nacos数据库然后初始化nacos脚本 -- -------------------------------------------------------- -- 主机: 192.168.150.101 -- 服务器版本: …

杭电网课笔记

技巧 1.判断得数为整数还是小数&#xff0c;可以%1&#xff0c;得数为0是整数 或者用instanceof Integer number 9; // 自动装箱 System.out.println(number instanceof Integer); // 输出&#xff1a;true 2.a * b 最大公约数 * 最小公倍数 LCM 最小公倍数 GCD 最大公…

Git学习笔记(第9章):国内代码托管中心Gitee

目录 9.1 简介 9.1.1 Gitee概述 9.1.2 Gitee帐号注册和登录 9.2 VSCode登录Gitee账号 9.3 创建远程库 9.4 本地库推送到远程库(push) 9.5 导入GitHub项目 9.6 删除远程库 9.1 简介 9.1.1 Gitee概述 众所周知&#xff0c;GitHub服务器在国外&#xff0c;使用GitHub作为…

【软件测试】学习笔记-性能测试场景的分类

性能测试场景的重要程度类似于业务测试的 case&#xff0c;case 是你进行业务测试的指引&#xff0c;case 是否完善也直接决定了测试的覆盖率。同理&#xff0c;场景是传递执行性能测试的步骤和目的&#xff0c;关于这两点是你一定要清楚的。 首先认识下最重要的三个性能场景&…

如何在转接的NVME 固态盘上安装WIN 系统并引导启动

问题&#xff1a; 家里的台式机一直挂着一块128G的SSD固态盘&#xff0c;由于家里自己建了NAS存储&#xff0c;所以基本数据都在NAS里&#xff0c;台式机就没有挂机械盘了&#xff0c;但是最近台式机空间被系统侵蚀&#xff0c;显然就不够用了&#xff0c;除了清理系统&#xf…

[Go]认识Beego框架

对比Gin的简洁&#xff0c;自己之前基于Gin撸了一个架子&#xff0c;确实比beego目录看着舒服多了&#xff0c;不过最近接触到beego的项目&#xff0c;beego的bee工具使用还是很方便&#xff0c;来简单梳理下细节&#xff1b; Beego是一个开源的Go语言Web应用框架&#xff0c;…

磺化-Cy3-IHR,Sulfo-Cyanine3-IHR,用于检测基因的表达和定位

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Sulfo-Cy3-IHR&#xff0c;Sulfo Cyanine3 IHR&#xff0c;磺化-Cy3-IHR&#xff0c;Sulfo-Cyanine3-IHR 一、基本信息 产品简介&#xff1a;磺化-Cy3-IHR具有较高的荧光强度和良好的水溶性&#xff0c;在与生物样本…

【问题解决】java-word转pdf踩坑

问题情境&#xff1a; 项目中采用word转pdf&#xff0c;最开始使用的pdf相关的apache的pdfbox和itextpdf&#xff0c;后面发现对于有图片背景的word转pdf的情景&#xff0c;word中的背景图会直接占用位置&#xff0c;导致正文不会正确落在背景图上。 解决方案&#xff1a; 采…

水库大坝安全监测的技术手段及方法

水库大坝安全监测是指通过仪器观测和巡视检查对水利水电工程主体结构、地基基础、两岸边坡、相关设施以及周围环境所作的测量及观察。水库大坝安全监测是作为水库大坝安全管理的重要组成部分&#xff0c;是掌握水库大坝安全性态的重要手段&#xff0c;是科学调度、安全运行的前…

java数据结构与算法刷题-----LeetCode566. 重塑矩阵

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 法一&#xff0c;下标填充2. 法二&#xff1a;数学除法和取余…

gin中使用swagger生成接口文档

想要使用gin-swagger为你的代码自动生成接口文档&#xff0c;一般需要下面三个步骤&#xff1a; 按照swagger要求给接口代码添加声明式注释&#xff0c;具体参照声明式注释格式。使用swag工具扫描代码自动生成API接口文档数据使用gin-swagger渲染在线接口文档页面 第一步&…

Python filter函数

在Python编程中&#xff0c;filter()函数是一个有用的工具&#xff0c;用于筛选可迭代对象&#xff08;如列表、元组等&#xff09;中满足特定条件的元素&#xff0c;并返回一个新的可迭代对象&#xff0c;其中包含满足条件的元素。本文将深入探讨filter()函数的用法&#xff0…

手撕重采样,考虑C的实现方式

一、参考文章&#xff1a; 重采样、上采样、下采样 - 知乎 (zhihu.com) 先直接给结论&#xff0c;正常重采样过程如下&#xff1a; 1、对于原采样率fs&#xff0c;需要重采样到fs1&#xff0c;一般fs和fs1都是整数哈&#xff0c;则先找fs和fs1的最小公倍数&#xff0c;设为m…

1、【vue篇】vue框架快速上手

注意事项&#xff1a; methods必须要加s 导入vue&#xff1a;<script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>导入Axios:<script src"https://unpkg.com/axios/dist/axios.min.js"></script> 简单Vue程序…

k8s的图形化工具---rancher

声明式&#xff1a;yaml文件 陈述式&#xff1a;命令行 k8s的图形化工具---rancher racher是一个开源的企业级多集群的k8s关联平台。 rancher和k8s区别&#xff1a; 都是为了容器的调度和编排系统&#xff0c;但是rancher不仅能调度&#xff0c;还能管理k8s集群&#xff0…

(菜鸟自学)漏洞利用——MS11-080

&#xff08;菜鸟自学&#xff09;漏洞利用——MS11-080 漏洞简介利用漏洞对系统进行提权查看漏洞利用代码和工具将py脚本转换为exe程序渗透攻击验证 漏洞简介 MS11-080 是指微软于 2011 年发布的一个安全公告&#xff08;MS11-080&#xff09;&#xff0c;其中包含了关于 Win…

【DG 特长生2019】模拟赛赛后总结(2024.1.24)

打了330pt,订正后350pt T1 签到 T2 dfs剪枝&#xff08;虽然我写挂了&#xff09; T3 NOIP原题 T4 floyd 主要是想分享一下T4。 写了一种基于floyd的做法。 感觉好像和大部分人的写法不太一样。 因为看到大小关系&#xff0c;我就想到了传递性。 floyd是可以维护传递…

端口隔离技术

概念 端口隔离可实现同一VLAN内端口之间的隔离&#xff0c;为用户提供了更安全、更灵活的组网方案。 为了实现报文之间的二层隔离&#xff0c;用户可以将不同的端口加入不同的VLAN&#xff0c;但这样会浪费有限的VLAN资源。采用端口隔离功能&#xff0c;可以实现同一VLAN内端口…

探索 XMLHttpRequest:网页与服务器的异步通信之道(下)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

HarmonyOS鸿蒙学习基础篇 - Text文本组件

该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 Text文本组件是可以显示一段文本的组件。该组件从API Version 7开始支持&#xff0c;从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 子组件 可…