git入门以及如何推送代码到云端

Gitee(码云)是开源中国于2013年推出的基于Git的代码托管平台、企业级研发效能平台,提供中国本土化的代码托管服务。

地址:

Gitee - 基于 Git 的代码托管和研发协作平台

步骤1:创建远程仓库

在Gitee上创建一个新的远程仓库。

步骤2:然后我们把之前创建好的vue项目变成一个本地仓库。

用git init命令:

git init

一般终端这种黄色的是警告不是报错

步骤3:建立本地仓库和远程仓库的连接

此时我们还应该设置一下主机的密钥,要把SSH密钥添加到Gitee上

  1. 生成 SSH 密钥对: 打开终端并运行以下命令:

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    console了这个结果:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/y/.ssh/id_ed25519): 

     这将创建一个 ED25519 类型的 SSH 密钥对。在输入路径时,你可以选择使用默认路径(按 Enter),或者为密钥对选择自定义路径。

出现了以下内容就说明公钥生成成功了。

2、将公钥内容添加到gitee账户:

密钥已经生成了。现在你可以将公钥添加到 Gitee 的账户设置中。你可以使用以下命令来复制公钥内容:

pbcopy < ~/.ssh/id_ed25519.pub

然后,打开浏览器,登录 Gitee,并前往账户设置。在 SSH 公钥部分,添加一个新的 SSH 公钥并将剪贴板中的内容粘贴到这里。完成后,你就可以使用 SSH 协议来与 Gitee 通信了。

3、将本地仓库与远程仓库连接:

git remote add origin ssh地址

4、验证连接是否成功

git remote -v

这段输出显示了你本地仓库的远程仓库配置。它列出了与本地仓库连接的远程仓库的名称(`origin`)以及它们的拉取(fetch)和推送(push)URL。

- `origin` 是你给远程仓库起的一个名字,通常是默认的名称,用来表示远程仓库的主要位置。
- `https://gitee.com/y/vue-learn.git` 是远程仓库的 URL,这个 URL 用于从远程仓库拉取(fetch)更新或者推送(push)本地更改到远程仓库。

这个反馈告诉你本地仓库已经成功地关联了一个远程仓库,并显示了这个远程仓库的 URL。

也可以打开idea查看目前git有哪些分支,分支又叫什么名字。

图是已经连接成功后截的:

步骤4:提交代码到远程仓库

  1. 创建.gitignore文件: 在项目文件夹中创建.gitignore文件,将不需要提交的文件(例如node_modules)列入其中。

tips:

在终端或文件浏览器中,.git 文件夹通常是隐藏的,所以你在文件浏览器中可能看不到它。在 macOS 上,默认情况下,以 . 开头的文件或文件夹会被视为隐藏文件,因此 .git 文件夹可能被隐藏了。

你可以通过在终端中使用 ls -a 命令来显示包括隐藏文件在内的所有文件和文件夹,这样可能会看到 .git 文件夹。示例命令如下:

defaults write com.apple.finder AppleShowAllFiles true; killall Finder

这样就显示出来了 

把本地所有的代码都提交到远程仓库上去的步骤如下:

step1、首先你需要给你的仓库里面添加一个.gitignore文件,这个文件表示一些文件可以不提交。

在mac上添加文本文件:

方法一:用终端创建

因为mac一般不好直接添加文本,可以在终端用命令直接创建。

MacBook-Pro-2 ~ % cd /Volumes/nq\ 3/小白做毕设2024 
MacBook-Pro-2 小白做毕设2024 % touch .gitignore
方法二:使用文本编辑器
  1. 打开文本编辑器:打开任何文本编辑器(例如 TextEdit、Visual Studio Code 等)。

  2. 另存为 .gitignore:在文本编辑器中创建一个新文件,将文件命名为 .gitignore,然后将它保存到 小白做毕设2024 目录中。

 

比如小白做毕设2024里的node_modules里面包含了成千上万个依赖,内存非常大,如果每次也把它上传上去的话,传输速度就会很慢。

2、将所有更改添加到暂存区:

git add .

这里的提示是view这个仓库已经存在了,因为咱们的view是通过官方的脚手架来创建的,你点开vue文件夹。

你会发现,它本身就有一个.git文件,把它给删掉就好。

所以走到这一步就已经会导致后年的报错了。所以到这一步时从头再设置。到这一步git add .之前就要把vue文件夹下的.git文件夹给删掉。

然后再

git add .

然后再git status,这样就算对了:

3、提交更改到缓存区:

git commit -m 'commit'

4、将代码推送到远程仓库:

git push -u origin "master"

最后一步再把缓存区的文件推送到远程仓库去git push -u origin "master",但是这里报错了。

因为我之前失败的推送过一次,gitee现在有重复的不可查看的vue文件,那么此时你是需要先把代码拉下来pull,再推送push。

此时你可以用一个命令将其强制覆盖。

git push -f origin "master"

此时就已经把本地仓库成功推送到远程仓库中去了。

如果刚刚没有删掉vue文件夹里的.git就直接git add .,然后git status就会出现以下问题:验证当前仓库是否进入暂存区,用以下命令:

MacBook-Pro-2 小白做毕设2024 % git status
On branch masterNo commits yetChanges to be committed:(use "git rm --cached <file>..." to unstage)new file:   .DS_Storenew file:   .gitignorenew file:   vueChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   .DS_Store

把本地文件提交本地仓库中去:

提交信息中的 "Initial commit" 是由提交者自己填写的。这个信息可以随意编写以反映这次提交所包含的内容。通常,对于第一个提交,人们喜欢使用 "Initial commit" 来表示这是仓库的初始版本,但你可以根据需要随时更改这个描述信息。

MacBook-Pro-2 小白做毕设2024 % git commit -m "Initial commit"
[master (root-commit) 017cf8f] Initial commit3 files changed, 4 insertions(+)create mode 100644 .DS_Storecreate mode 100644 .gitignorecreate mode 160000 vue

再看现在仓库的状态:

MacBook-Pro-2 小白做毕设2024 % git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   .DS_Storeno changes added to commit (use "git add" and/or "git commit -a")

我已经做了这一步,可是git status还报错:

MacBook-Pro-2 小白做毕设2024 % git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   .DS_Storemodified:   .gitignoreno changes added to commit (use "git add" and/or "git commit -a")

你可以尝试从 Git 的版本控制中删除 .DS_Store 文件,这样它就不会再出现在 git status 的修改列表中。

git rm --cached .DS_Store

这条命令会将 .DS_Store 从 Git 的跟踪中移除,但不会删除你的本地文件。接着,你就可以提交这个变更:

git commit -m "Removed .DS_Store from tracking"

此时就已经成功将 .DS_Store 文件从 Git 跟踪中移除,并提交了这一更改。

再次git status:

MacBook-Pro-2 小白做毕设2024 % git status               
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   .gitignoreno changes added to commit (use "git add" and/or "git commit -a")

"modified" 意味着该文件在你的工作目录中被修改了,但是还没有被暂存到 Git 中。

这次的更改显示 `.gitignore` 文件被修改了,但还没有被暂存或提交。你可以使用 `git add .gitignore` 将其添加到暂存区,然后提交更改。

MacBook-Pro-2 小白做毕设2024 % git add .
eMacBook-Pro-2 小白做毕设2024 % git commit -m '第二次提交'
[master 8c4ba7a] 第二次提交1 file changed, 2 insertions(+), 1 deletion(-)
MacBook-Pro-2 小白做毕设2024 % git status
On branch master
nothing to commit, working tree clean

step3、最后一步,推送代码到远程仓库:

git push -u origin "master"

如果是第一次,它会让你输入用户名和密码,然后就推送成功了。

Username for 'https://gitee.com': y            
Password for 'https://yang-nianqing@gitee.com': 
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (9/9), 1.26 KiB | 646.00 KiB/s, done.
Total 9 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/y/vue-learn.git* [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

这个Username通常在个人主页的 URL 中会显示出来,也可以在个人设置或个人信息页面中找到。

你再去gitee上看仓库是否有代码推送

出现这种问题就回到文章中的把代码提交到暂存区git add .的部分跟着教程再来一次。

如果别人想要下载这个项目里的代码一共有以下方式:

1、下载zip文件包

2、用命令git clone来获得文件

step1、在本地新建一个文件夹

step2、打开终端cd进入该文件夹

step3、git clone http地址

git clone https://gitee.com/y/vue-learn.git

3、实际开发中,一般都是基于编译器来操作的。

以下是如何在IDEA中进行git操作的教程:

比如我现在在README.md里更新了一句话:### 学习好痛苦

modified的意思是我更新了这个文件,但是并没有提交到暂存区

如何在编译器里去提交我们本地修改的代码文件呢?

首先添加一些快捷图标,如果你的编译器里默认没有这些,那么你需要手动添加。

添加好快捷图标之后开始点提交:

step2、然后点击commit提交

如果我们只点commit,这里显示Select files to commit

如果在终端中运行 git status 显示了 modified: vue/README.md,但是在图形界面的 Git 菜单中却未显示任何更改,这可能是由于某些原因导致 GUI 工具无法检测到更改。

你可以尝试在终端中使用命令行来提交你的更改。首先,使用以下命令添加更改到暂存区:

git add vue/README.md

然后提交这些更改到本地仓库:

git commit -m "Added a sentence to README.md"

再看git控制台:

点击Show Diff来看前后代码变化对比

点开之后显示 Git 中无法显示差异:

到这一段垮掉。

重新来,我重新clone了我的项目,再在READMEmd里进行了更改,现在IDEA能检测到了,我也不知道为啥。

点击commit之后,有一个绿色的小箭头,这代表还没提交到远程仓库去。

就出现了一个变化对比:

然后再点push按钮,会出现让你登录gitee账号。

然后出现这个显示,就说明推送成功了。

再去gitee上看是否推送成功:

如果我们需要和别人合作,比如有人在项目中新增了一个文件

此时本地仓库没有这个学习好痛苦.txt文件,那么本地该如何拉取该文件呢?

把远程修改的内容直接拉到你本地来

这样就OK了

如果别人在远程仓库新建了一个文件,在你没有拉新代码的情况下,你本地也新建了一个文件,然后你点提交,之后就会有一个冲突报错。

别人新建了一个文件a

在没有拉代码的情况下你在本地新建了一个文件b

点击commit

之后出现这个报错:

merge:合并

rebase:基于这个基础上再次提交

所以这里我们选择merge

如果再遇到这种情况,比如远程新增了一个d,你还可以先把远程仓库的代码先拉下来,之后你再push。

git菜单详解:

Branches:可以看到你本地有哪些分支

我们还可以新建分支,比如我们想基于master下再新建一个分支

如果你是和别人一起协作写代码的话,点击merge 'master' into 'dev'之后就可以把当前master的代码更新到dev里了。

如果当前你在dev分支上,但是你想切换到master分支去,找到master并且点击checkout。

如果你在dev的分支时在文件内进行了一些修改,如果你直接切换到master分支,会顺带把这个修改也带过去,如果你只想让修改在单分支上有效的话。在IDEA中的terminal里输入命令。

然后这时候你切换到别的分支去修改文件,提交了之后返回dev分支,你想要看到之前在dev分支下修改的东西,你就用到以下命令:

又假如在master分支下a文件修改,你想让dev分支也同步提交这个修改。

然后再push

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

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

相关文章

渲染控制之条件渲染

目录 1、使用规则 2、更新机制 3、使用if进行条件渲染 4、if ... else ...语句和子组件状态 5、嵌套if语句 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态&#xff0c;使用if、else和else if渲染对应状态下的UI内容。 1、使用规则 支持if、else和else if语句…

数据结构---算法的空间复杂度

文章目录 空间复杂度概念实例 空间复杂度 概念 空间复杂度也是一个数学表达式&#xff0c;是对一个算法在运行过程中临时占用存储空间大小的量度 。 空间复杂度不是程序占用了多少bytes的空间&#xff0c;因为这个也没太大意义&#xff0c;所以空间复杂度算的是变量的个数。…

antdesignpro实现滚动加载分页数据

原理解析&#xff1a;每滚动一次相当于翻页&#xff0c;请求后端时给的页码参数要想办法加1&#xff0c;后端才能根据页码给出相应数据 注意后端收到页码参数之后要准确计算出每页的首行数据&#xff0c;关键逻辑代码&#xff1a; # 根据前端传的页码&#xff0c;进行计算下一…

Koordinator 支持 K8s 与 YARN 混部,小红书在离线混部实践分享

作者&#xff1a;索增增&#xff08;小红书&#xff09;、宋泽辉&#xff08;小红书&#xff09;、张佐玮&#xff08;阿里云&#xff09; 背景介绍 Koordinator 是一个开源项目&#xff0c;基于阿里巴巴在容器调度领域多年累积的经验孵化诞生&#xff0c;目前已经支持了 K8s…

TSINGSEE青犀可视化视频云平台JT/T1078接入能力在智慧物流中的应用

一、引言 随着科技的快速发展和全球贸易的蓬勃发展&#xff0c;智慧物流成为了现代物流业的重要发展方向。智慧物流通过引入先进的信息技术&#xff0c;实现了物流过程的自动化、智能化和信息化&#xff0c;从而提高了物流效率和准确性。在这个过程中&#xff0c;JT/T1078接入…

TIA博途Wincc_通过VBS脚本实现电机风扇或水泵旋转动画的具体方法

TIA博途Wincc_通过VBS脚本实现电机风扇或水泵旋转动画的具体方法 前面和大家介绍了通过在PLC中编程,结合HMI的图形IO域实现电机风扇或水泵旋转动画的具体方法,详细内容可参考以下链接: TIA博途Wincc中制作电机风扇或水泵旋转动画的具体方法示例 本次和大家分享通过VBS脚本实…

SpringBoot Elasticsearch全文搜索

文章目录 概念全文搜索相关技术Elasticsearch概念近实时索引类型文档分片(Shard)和副本(Replica) 下载启用SpringBoot整合引入依赖创建文档类创建资源库测试文件初始化数据创建控制器 问题参考 概念 全文搜索&#xff08;检索&#xff09;&#xff0c;工作原理&#xff1a;计算…

面对大促场景来临,如何从容进行性能测试

作者&#xff1a;赵佳佳 每年双十一、圣诞、春节大促的消费狂欢中&#xff0c;我们可以看到在高峰时段品牌直播间同时容纳着几百万人线上发弹幕、抢货、抢红包&#xff0c;在品牌店铺中又有着同样规模的咨询、加购、下单、支付等等。愈发庞大的用户体量、愈发高频的交互动作以…

【SpringBoot篇】基于Redis实现生成全局唯一ID的方法

文章目录 &#x1f354;生成全局唯一ID&#x1f339;为什么要生成全局唯一id&#x1f33a;生成全局id的方法✨代码实现 &#x1f354;生成全局唯一ID 是一种在分布式系统下用来生成全局唯一id的工具 在项目中生成全局唯一ID有很多好处&#xff0c;其中包括&#xff1a; 数据…

【Linux笔记】系统信息

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 命令 1. uname - 显示系统信息 2. hostname - 显示或设置系统主机名 3. top - 显示系统资源使用情况 4. df - 显示磁盘空间使用情…

SuperMap Hi-Fi 3D SDK for Unity基础开发教程

作者&#xff1a;kele 一、背景 众所周知&#xff0c;游戏引擎&#xff08;Unity&#xff09;功能强大&#xff0c;可以做出很多炫酷的游戏和动画效果&#xff0c;这部分功能的实现往往不仅仅是靠可视化界面就能够实现的&#xff0c;还需要代码开发。SuperMap Hi-Fi SDKS for …

如何在Windows上搭建WebDAV服务并通过内网穿透实现公网访问

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…