git命令行推送本地分支到远程仓库

news2024/12/28 18:57:20

之前说过Git与IDEA强强联合(HTTPS协议连接)那么如何使用命令行来推送代码呢?

如下图所示为一个基于layui的前端代码:

在这里插入图片描述
目录工作区文件:
在这里插入图片描述
在这里插入图片描述

本地内容就是将这些内容推送到远程仓库

首先使用git命令初始化git本地仓库:

  • git init创建本地仓库

在这里插入图片描述
以出现.git命令为参考:
在这里插入图片描述
创建git仓库后vs code也有颜色的变化:
在这里插入图片描述
除了颜色的变化外还有字母呢U,它们的含义是:

红色,未加入版本控制; 
绿色,已经加入版本控制暂未提交;
蓝色,加入版本控制,已提交,有改动;
白色,加入版本控制,已提交,无改动;
灰色:版本控制已忽略文件。

git文件标识:
A: 增加的文件.
C: 文件的一个新拷贝.
D: 删除的一个文件.
M: 文件的内容或者mode被修改了.
R: 文件名被修改了。
T: 文件的类型被修改了。
U: 文件没有被合并
X: 未知状态

然后绑定用户名和邮箱,便于记录提交者信息:

  • git config --global user.namegit config --global user.email

在这里插入图片描述
将需要提交的文件或代码提交到暂存区:

  • git add将文件添加到缓存区

如果之前选择在根目录的上级创建git仓库的话使用 git add [dir]dir为路径添加到缓存区,或者使用git add filename添加指定目录至缓存区。如果是在根目录内部,直接git add .将当前更改文件添加到缓存区,如下图所示:

在这里插入图片描述
warning: LF will be replaced by CRLF出现该警告的原因是不同系统下的换行符不一样,只需了解即可,git会自动检测系统内核,将换行符自动转换,具体了解请移步IDEA和VS code设置默认换行符为LF感谢作者!

由于git在push时会自动转换,所以直接统一格式,简单很多。这个得看个人用的上面系统,Windows默认是crlf,Linux默认是lf。直接将vs code的换行符改为LF,并且关闭自动转换,这样就不需要所谓的转换,在任何系统都可以使用。

在这里插入图片描述
注意将git的自动转换功能关闭:git config --global core.autocrlf false

git config --global core.autocrlf true
Git可以在你push时自动地把行结束符CRLF转换成LF,而在pull代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF,如果本来就是LF,就会两者自动转换。

git config --global core.autocrlf input
Linux或Mac系统使用LF作为行结束符;当一个以CRLF为行结束符的文件不小心被上传时需要进行修正,把core.autocrlf设置成input来告诉 Git 在push时把CRLF转换成LF,pull时不转换

git config --global core.autocrlf false  关闭自动转换功能

在这里插入图片描述

关闭后就不再警告了,但是本地的换行符必须是LF。

可以看到文件全部变成了A,已添加到了本地库:

在这里插入图片描述

  • git remote add origin [远程仓库地址]添加远程仓库

git remote -v查看远程仓库路径

在这里插入图片描述

git remote add origin [addr]添加远程仓库

登录gitee选择仓库,复制仓库地址,在命令行添加

在这里插入图片描述
https地址的地址的最后一位是仓库名,前面一位是账号。

在仓库管理中前面一位是仓库归属,很少用到,在gitee控制台才会用到;后面一位是仓库名,上传代码时使用:

在这里插入图片描述
更多请移步官方文档

在这里插入图片描述

回到添加远程地址,如图添加成功:

在这里插入图片描述

  • git commit -m “info”上传版本管理的分子区,也可以说是预提交区。

这里的文件或代码将会直接提交到远程仓库,如果某些文件不是必须的,需要在提交时在gitignore文件配置需要忽视的文件。

  • git push [远程仓库名] [本地分支]:[远程仓库]将当前分支push到远程仓库

推送到远程仓库有两种存储方式:

  • 一个仓库放一个工作区文件所以可以新建文
  • 一个仓库放多个工作区文件,需要新建文件夹

只放一个文件,这种方式更新换代容易,适用于长期维护的项目:
在这里插入图片描述
放多个文件,目录清晰,一个仓库放多个文件,可以用于放完整的项目文件:

在这里插入图片描述

一个项目的就比较容易了,直接推送即可。

放两多个文件夹的步骤如下

(1)在gitee上新建若干文件夹。

(2)将远程仓库直接克隆到本地
在这里插入图片描述
如下图所示在本地已经有了对应的文件夹(仓库内部):
在这里插入图片描述

(3)将需要上传的文件复制到对应目录下

在这里插入图片描述
在最外层也就是克隆远程仓库文件夹的目录下,将所有文件推送到远程仓库:

这里需要注意的是:

  1. 克隆下来的文件需要重新绑定远程地址
  2. 远程地址为新建文件外部的仓库
  3. 代码是提交到仓库的分支上,而不是仓库中

在gitee的管理界面的我的下面可以看到属于自己的两个仓库

在这里插入图片描述
这是我的仓库bolen,有独一无二的仓库地址https://....bolen.git,仓库是用来保存分支的。每个仓库都有一个默认的分支master

在gitee操作面板上可以看到分支,
在这里插入图片描述
那么如何添加到指定分支呢?比如,指定添加到bolen,master,或者server分支,这里有两个决定性因素:

  • 远程仓库地址
  • 分支名称

在推送时命令是git push [远程仓库名] [本地分支]:[远程分支],这里远程仓库名和远程分支名确定了分支的唯一性。

使用git remote add origin [addr]后绑定了新建的仓库,在推送到推送到master分支,或新建一个分支。通过仓库名和分支名决定分支唯一性。

(4)推送本地分支到远程仓库分支

之前已经将远程仓库克隆到本地了,而且将需要上传的代码复制到相应的文件夹下,再经过上面的配置,确定定了分支的唯一性,接下来上传到远程仓库,

在这里插入图片描述

上面红线的地方换为自己的分支名即可

如下图代码已上传到对应文件夹
在这里插入图片描述
在该仓库中也有两个文件夹,分别为项目的前端和后端

在这里插入图片描述

上传的到此结束了,重点在于仓库名和分支的唯一性,不然会出现各种错误。

  • git remote rm origin删除旧的远程仓库

如果父文件或当前文件远程仓库绑定错了可以删除旧文件夹再添加新建文件夹的仓库:

在这里插入图片描述

另外在推送到默认master文件夹时出现如下图错误的请移步git 上传出现“ ! [rejected] master -> master (non-fast-forward)”感谢作者!

在这里插入图片描述

这是一个简单的提交代码的部分,在实际开发会遇到很多问题,如分支的构建与融合,代码冲突,版本回退等将在遇到实际问题时图文跟新。

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

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

相关文章

阿里巴巴测试岗,3面都过了,到头来却因为这个原因被刷了...

说在前面 面试时最好不要虚报工资。本来阿里巴巴是很想去的,几轮面试也通过了,最后没offer,自己只想到下面几个原因 虚报工资,比实际高30%;有更好的人选,这个可能性不大,我看还在招聘。我是面…

【Redis】Redis持久化之AOF详解(Redis专栏启动)

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公…

Windows11安装OpenSSH客户端,实现ssh远程连接云服务器

一、打开设置 - 应用 - 添加可选功能,选择安装OpenSSH客户端 二、安装完之后,验证 ssh 命令 1、启动ssh服务之后,打开 cmd 窗口已支持连接 三、如果 ssh 命令仍然不生效,需要配置 ssh 环境变量 1、新建 SSH_HOME 环境变量&#…

2023 年前端十大 Web 发展趋势

很长一段时间,Web 开发的前景似乎没有什么进展(2016 年至 2021 年),但在刚刚过去的 2022 年中确实又猛窜了一波。今天主要想跟大家聊聊最新 Web 开发趋势。相信这波浪潮会继续激发 Web 开发者的关注,对万象更新的 2023…

视频连载11 - 这个为生信学习和生信作图打造的开源R教程真香!!!

点击阅读原文跳转完整教案。1 思考题2 R基础2.1 R安装2.2 Rstudio基础2.2.1 Rstudio版本2.2.2 Rstudio安装2.2.3 Rstudio 使用2.3 R基本语法2.3.1 获取帮助文档,查看命令或函数的使用方法、事例或适用范围2.3.2 R中的变量及其初始化2.3.3 变量类型和转换2.3.4 R中矩…

MYSQL安装部署--Linux 仓库安装

声明 :# 此次我们安装的 MYSQL 版本是 8.0.32 版本 我们本次安装 MYSQL 总共要介绍 四种方式 # 仓库安装# 本地安装# 容器安装# 源码安装我们本篇介绍的是 仓库安装 仓库安装 下载 MYSQL 安装包 # MYSQL 安装,我们都是基于 MYSQL 官方网站里进行下载~&a…

计数系统架构设计(转)

本文主要节选和总结自沈剑大佬的 计数系统架构实践一次搞定 | 架构师之路和文章的评论,略有删改 一、问题描述 很多业务都有“计数”需求,以微博为例: 微博首页的个人中心部分,有三个重要的计数:关注了多少人的计数、粉…

如何编写一个基本的 Verilog Module(模块)

1、概述这篇文章主要介绍了 Verilog 在 FPGA 设计中的概念和使用方法。首先讨论使用模块(module)关键字构造 Verilog 设计的方式,以及这与所描述的硬件的关系。这包括对参数、端口(port)和例化(instantiato…

JSON Web Token (JWT)

1,什么是JWT JWT是JSON Web Token是简称,是一个行业开发标准(RFC 7519)定义了一种简介的 自包含的协议格式,用于在通信双方传递JSON对象,传递的信息经过数字签名可以被验证和信任。它可以使用HMAC算法或使…

4.如何靠IT逆袭大学?

学习的动力不止于此: IT逆袭 这两天利用工作空余时间读了贺利坚老师的《逆袭大学——传给 IT 学子的正能量》,感触很多,有些后悔没有好好利用大学时光。 不过人都是撞了南墙再回头的,吃一堑长一智。 这本书无论你是工作了还是…

DataX简介、部署、原理和使用介绍

DataX简介、部署、原理和使用介绍 1.DataX简介 1-1.项目地址 项目地址:https://github.com/alibaba/DataX 官方文档:https://github.com/alibaba/DataX/blob/master/introduction.md 1-2.DataX概述 ​ DataX 是阿里云 DataWorks数据集成 的开源版本…

JDK安装环境变量配置

jdk下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 下载安装包和exe都可。 安装JDK 安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。 (注:当提示安装JRE时…

WPF MVVM系统入门-上

WPF MVVM系统入门-上 Models:存放数据的模型,实体对象 Views:可视化界面 ViewModels:业务逻辑。ViewModels与Models的联系会更紧密,而Views页面会主动绑定ViewModels中的数据,原则上ViewModels不要直接去操作Views,被动的被Vie…

教唆chat ai 吵架--chatGPT和chatBing体验

教唆chat ai 吵架–chatGPT和chatBing体验 请注意,本文主观性非常高,只是一个参考性文章,无任何其他含义。 当我们谈到人工智能对话模型时,ChatGPT和ChatBing是两个备受关注的模型。它们都是自然语言处理领域中的重要里程碑&…

hive学习(仅供参考)

hive搭建Hive什么是hiveHive的优势和特点hive搭建解压、改名修改环境变量添加hive-site.xml将maven架包拷贝到hive替换一下gua包使环境变量生效初始化安装成功Hive 什么是hive 将结构化的数据文件映射为数据库表 提供类sql的查询语言HQL(Hive Query Language) Hive让更多的人…

【C++内存管理机制】学习笔记(4):重载operate new/::operator new..../new()

目录 简介C++应用程序 分配内存的途径重载::operator new/::operator delete重载operator new/operator delete重载new()/delete()结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简…

自学软件测试?一般人“别来沾边”...

本人7年测试经验,在学测试之前对电脑的认知也就只限于上个网,玩个办公软件。这里不能跑题,我为啥说:自学软件测试,一般人我还是劝你算了吧?因为我就是那个一般人! 软件测试基础真的很简单&…

mac环境,安装NMP遇到的问题

一 背景 项目开发中,公司项目需要使用本地的环境运行,主要是php这块的业务。没有使用docker来处理,重新手动撸了一遍。记录下其中遇到的问题; 二 遇到的问题 2.1 Nginx的问题 brew install nginx后,启动nginx,报错如下:nginx: [emerg] no "ssl_certificate" …

数据结构与算法(二):线性表

上一篇《数据结构与算法(一):概述》中介绍了数据结构的一些基本概念,并分别举例说明了算法的时间复杂度和空间复杂度的求解方法。这一篇主要介绍线性表。 一、基本概念 线性表是具有零个或多个数据元素的有限序列。线性表中数据…

零售电子标签解决方案

电子货架标签系统(ESLs),是一种放置在货架上、可替代传统纸质价格标签的电子显示装置, 每一个电子货架标 签通过有线或者无线网络与商场计算机数据库相连, 并将最新的商品价格通过电子货架标签上的屏显示出来。 电子…