使用git命令行的方式,将本地项目上传到远程仓库

news2024/11/17 8:38:28

在国内的开发环境中,git的使用是必不可少的。Git 是一款分布式版本控制系统,用于有效管理和追踪文件的变更历史及协作开发。本片文章就来介绍一下怎样使用git命令行的方式,将本地项目上传到远程仓库,虽然现在的IDE中基本都配置了git的可视化操作,但我们还是应该掌握使用命令行的形式上传文件。

1、下载git

git的官网:Git (git-scm.com)

2、初始化本地仓库: 打开命令行或终端,导航到你的项目目录,运行以下命令来初始化一个 Git 仓库:

git init

3、添加文件到仓库: 将项目中的所有文件添加到 Git 跟踪列表中:

git add .

注意这个命令的前提是在项目的根路径下才可以。 add后面的“.”表示当前目录下的所有文件;

也可以上传特定的文件到git中:

git add <filename>

4、提交更改: 提交你的更改到本地仓库:

git commit -m "初始化项目"

5、创建远程仓库: 如果你还没有远程仓库,你需要在支持 Git 的服务上创建一个,比如 GitHub、Gitee、GitLab 或 Bitbucket。如果你已经有仓库了,那么可以直接使用仓库的地址

6、添加远程仓库链接: 将你的本地仓库与远程仓库关联起来。首先,复制远程仓库的 URL。然后运行:

git remote add origin <remote-repository-url>

注意,这里的 <remote-repository-url> 是你的远程仓库地址。

7、验证远程仓库链接: 检查远程仓库是否已正确添加:

git remote -v

可以用来检查我们远程仓库是否正确添加,如果能看到远程仓库的地址,就表示我们的远程仓库已经添加进来了。

如图所示:

8、推送到远程仓库: 将你的本地提交推送到远程仓库:

git push -u origin master

如果你的远程仓库使用默认分支名 main,而不是 master,相应地替换分支名。

注意,如果远程仓库需要认证,输入你的用户名和密码或使用个人访问令牌(PAT)。

9、错误处理: 如果遇到任何问题,比如分支冲突,我们可能需要先拉取远程更改并解决冲突,然后再推送。

10、后续提交: 每次想要推送新的更改时,只需要运行 git commitgit push

 如果在推送时遇到因为分支不存在的拒绝问题,可能需要先设置上游分支:

git push --set-upstream origin master

仓库初始化与配置

  • 初始化仓库

    git init

  • 克隆远程仓库

    git clone <repository-url>

  • 设置用户名

    git config user.name <name>

  • 设置用户邮箱

    git config user.email <email>

文件状态与更改

  • 查看状态

    git status

  • 添加文件到暂存区

    git add <file>

  • 添加所有文件到暂存区

    git add .

  • 删除文件

    git rm <file>

  • 修改文件

    git mv <old-file> <new-file>

提交更改

git commit -m "commit message"

  • 提交所有暂存区文件

    git commit -a

  • 修改最后一次提交

    git commit --amend

分支管理

  • 查看分支

    git branch

  • 创建新分支

    git branch <branch-name>

  • 切换分支

    git checkout <branch-name>

  • 创建并切换分支

    git checkout -b <branch-name>

  • 删除分支

    git branch -d <branch-name>

  • 合并分支

    git merge <branch-name>

远程仓库管理

  • 添加远程仓库

    git remote add <remote-name> <url>

  • 查看远程仓库

    git remote -v

  • 拉取远程仓库更改

    git fetch

  • 拉取并合并远程仓库更改

    git pull

  • 推送到远程仓库

    git push <remote-name> <branch-name>

  • 强制推送到远程仓库

    git push <remote-name> <branch-name> --force

查看历史与日志

  • 查看提交历史

    git log

  • 查看图形化的提交历史

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

  • 查看单个文件的变更历史

    git log <file>

撤销与重置

  • 撤销工作目录中的更改

    git checkout -- <file>

  • 重置暂存区

    git reset

  • 重置工作目录和暂存区

    git reset --hard

  • 撤销到某个历史提交

    git reset --hard <commit-hash>

标签管理

  • 查看标签

    git tag

  • 创建标签

    git tag <tag-name>

  • 删除标签

    git tag -d <tag-name>

  • 推送标签到远程仓库

    git push <remote-name> <tag-name>

其他常用命令

  • 查看差异

    git diff

  • 查看两个文件的差异

    git diff <file1> <file2>

  • 查看两个提交之间的差异

    git diff <commit1> <commit2>

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

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

相关文章

Ubuntu安装terminator教程

Terminator 是一个高级的终端仿真器,专为 Linux 和 Unix 系统设计。它的主要特点是提供了丰富的多窗口和多标签功能,使用户能够在一个窗口中管理多个终端会话。这对于系统管理员、开发人员以及需要同时运行多个命令行任务的用户来说,极为方便。 一、安装 1、更新包 sudo a…

使用Selenium爬虫批量下载AlphaFold数据库中的PDB文件

注意&#xff1a;本方法使用了python&#xff0c;下载速度一般&#xff0c;如果需要更快的大批量下载可以考虑使用其他方法&#xff0c;例如FTP Alphafold数据库其实提供了许多物种的蛋白质组&#xff1a; AlphaFold Protein Structure Database 但是如果你搜索的物种不在这个…

算法面试leadcode【经典150道】

88 合并两个有序数组 方法一 使用arraycopy排序 * 思路一&#xff1a;将nums2合并到nums1的尾部&#xff0c;再直接进行排序。* 使用arraycopy(int[]nums1,int m,int[] nums2,int n)* 方法来进行排序&#xff0c;* 从原数组的哪个位置&#xff0c;移动到原数组的哪个位置&#…

xxl-job适配达梦数据库并制作镜像、源码部署xxl-job

背景&#xff1a;因项目需要信创&#xff0c;需将原本的mysql数据库&#xff0c;改成达梦数据库 一、部署达梦数据库 1.1 部署达梦数据库服务 可参考&#xff1a;Docker安装达梦数据库_达梦数据库docker镜像-CSDN博客 PS&#xff1a;部署达梦数据库时&#xff0c;需加上大小…

Java | Leetcode Java题解之第300题最长递增子序列

题目&#xff1a; 题解&#xff1a; class Solution {public int lengthOfLIS(int[] nums) {int len 1, n nums.length;if (n 0) {return 0;}int[] d new int[n 1];d[len] nums[0];for (int i 1; i < n; i) {if (nums[i] > d[len]) {d[len] nums[i];} else {int…

19. Revit API: Parameter(参数)

一、前言 我们在前面或多或少提到也用到参数了&#xff0c;这篇便细讲一下。 首先&#xff0c;我们知道好多信息都藏在参数里&#xff0c;或者说可以从参数中获取。我们还能够通过调整参数的值&#xff0c;改变模型的形态&#xff0c;即族的参变。 其次&#xff0c;有时族上…

【CAN通讯系列4】CAN通讯如何传递信号?

在【CAN通讯系列3】如何学习CAN通讯&#xff1f;中举了一个例子&#xff1a;新能源汽车要实现驱动功能&#xff0c;先需要整车控制器VCU计算目标转速或扭矩请求等信号&#xff0c;再通过CAN通讯传递给电机控制器MCU&#xff0c;就这个例子继续探讨CAN通讯的基础问题。 1 CAN数据…

入门 PyQt6 看过来(案例)08~ 页面布局

主题&#xff1a;学习页面布局控件以及布局容器的使用&#xff08;理论知识&#xff09; 1 布局控件 PyQt6的布局方式包括绝对布局、水平布局、垂直布局、网格布局和表单布局。 绝对布局&#xff1a;直接设置控件对象在参考坐标中的位置水平布局&#xff1a;对加入的控件对象从…

引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。

vue3 报错&#xff1a; 引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。 解决&#xff1a; 进入对应的 json 文件&#xff1a; 修改&#xff1a; "noEmit": false 当 noEmit 设置为 false 时&#xff0c;TypeScript 编译器将根据项目配置生成相应的输出文…

【数据结构初阶】单链表经典算法题十道(详解+图例)—得道飞升(终篇)

hi &#xff01; 目录 9、 环形链表 || 10、随机链表的复制 终章 9、 环形链表 || 【图解】 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode *detectCy…

Live800:客户服务中的情感智能,建立深厚客户关系的秘诀

在当今竞争激烈的市场环境中&#xff0c;客户服务已成为企业脱颖而出的关键因素之一。而情感智能&#xff0c;作为客户服务中的重要组成部分&#xff0c;更是建立深厚客户关系、提升客户满意度的秘诀所在。优秀的客户服务不仅关乎问题的解决&#xff0c;更在于情感的交流与共鸣…

物联网云盒多路开关量模拟量转无线MQTT钡铼技术S275

物联网云盒多路开关量模拟量转无线MQTT技术在现代工业自动化和远程监测中扮演着关键角色。钡铼第四代RTU S275作为一款先进的物联网数据监测采集控制短信报警终端&#xff0c;集成了多种先进技术和功能&#xff0c;旨在提升远程数据采集与控制的效率和可靠性。 钡铼第四代RTU …

在Ubuntu 12.10上安装和使用tmux的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 关于 tmux tmux 是一个终端复用工具。它允许您使用多个虚拟终端访问 tmux 终端。 tmux 利用了客户端-服务器模型&#xff0c;这使您可…

unity3d:TabView,UGUI多标签页组件,TreeView树状展开菜单

概述 1.最外层DataForm为空壳编辑数据用。可以有多个DataForm&#xff0c;例如福利DataForm&#xff0c;抽奖DataForm 2.Menu层为左边栏层&#xff0c;每个DataForm可以使用不同样式的MenuForm预制体 3.DataForm中使用ReorderList&#xff0c;可排列配置 4.有定位功能&#xf…

网址导航系统PHP源码分享

1、采用光年全新v5模板开发后台 2、后台内置8款主题色&#xff0c;分别是简约白、炫光绿、渐变紫、活力橙、少女粉、少女紫、科幻蓝、护眼黑 3、可管理无数引导页主题并且主题内可以进行不同的自定义设置&#xff0c;目前内置16套主题 持续增加中… 4、可单独开发各种插件&a…

【OSCP系列】OSCP靶机-LemonSqueezy(原创)

【OSCP系列】OSCP靶机-LemonSqueezy 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、主机发现 二、端口扫描 1、快速扫描 2、全端口扫描 只有一个80端口 3、版本系统探测 80端口http的apache服务&#xff0…

2年社招冲击字节,一天三面斩获offer

在工作满两年的时间选择了求变&#xff0c;带着运气和实力以社招身份重新看今天的互联网环境&#xff0c;从结果看还是复合预期的。 整个面试的流程还挺快的。周中让招聘专员给投递了简历。问什么时候面试&#xff0c;申请了一个周日&#xff0c;直接安排三面。下周周中就开启…

【神经网络】梯度下降的优化方法【数学公式+代码示例】

文章目录 1、简介2、指数加权平均2.1、公式2.2、代码 3、Momentum⭐3.1、公式演变3.2、代码 4、AdaGrad4.1、计算步骤4.2、代码示例 5、RMSProp5.1、公式5.2、代码5.3、小结 6、Adam6.1、公式和步骤解释⭐6.2、代码⭐6.3、优点 7、何为鞍点8、小结 &#x1f343;作者介绍&#…

Unity3D 转换微信小游戏指引 05 广告内购

Unity3D 转换微信小游戏指引系列&#xff08;第五期 完结&#xff09; 广告 在小程序后台页面找到推广->流量主 开通条件如下&#xff1a; 开通之后&#xff0c;需要接入广告组件。 调用创建广告组件的接口时&#xff0c;需要传入参数 adUnitId&#xff0c;这个是开通流量…

等保测评练习卷20

等级保护初级测评师试题20 姓名&#xff1a; 成绩&#xff1a; 判断题&#xff08;10110分&#xff09; 1. 应根据资产的危害程度对资产进行标识管理&#xff0c;根据资产的价值选择相应的管理措施&#xff08;F&#xff09;不是危…