Linux 配置git同步GitHub代码_linux git同步代码-程序员宅基地

技术标签: linux  

将ssh key加入GitHub:
https://www.cnblogs.com/Fight-go/p/15851321.html

与chatgpt聊,发现:

我本来有一个在Windows下的文件夹,他已经与GitHub仓库同步了;我把整个文件夹复制到Linux里,使用git
status查询状态,发现他说已经up to date,但显示有很多changes not staged for commit,为什么?
当你将一个 Windows 系统下已经与 GitHub 仓库同步的文件夹复制到 Linux
系统中时,该文件夹的版本控制信息并没有被复制过来。因此,虽然你在 Linux 系统中复制了一个与原文件夹相同的副本,但 Git
并不知道这是一个已经与 GitHub 仓库同步的文件夹,而是将其视为一个全新的、未经 Git 管理的文件夹。

因此,当你在 Linux 系统中运行 git status 命令时,Git 会提示你有许多未暂存的更改。这是因为在 Linux
系统中进行更改时,这些更改并没有被 Git 跟踪。如果你想在 Linux 系统中继续与 GitHub 仓库同步该文件夹,你需要将其添加到
Git 中并提交更改,以便 Git 能够跟踪该文件夹的更改并将其上传到 GitHub。

以下是在 Linux 系统中将文件夹添加到 Git 中的基本步骤:

在终端中导航到该文件夹所在的目录。 运行 git init 命令将该文件夹初始化为一个 Git 仓库。 运行 git add .
命令将该文件夹中的所有更改添加到 Git 中。这将把文件夹中的所有文件和子文件夹都添加到 Git 中。 运行 git commit -m
“Initial commit” 命令提交更改。 现在,你的文件夹中的所有更改都已经被 Git 跟踪,并且可以使用 git push
命令将这些更改上传到 GitHub。

所以需要上传。
使用git commit,发现需要

git config --global user.name “Your Name”
git config --global user.email “[email protected]

如果想撤销commit,就

如果你还没有将 commit 推送到远程代码库,那么你可以使用 git reset 命令来撤销该 commit。在这种情况下,git reset 命令将会将你的代码库恢复到 commit 前的状态。
以下是在 Linux 中使用 git reset 命令撤销未推送的 commit 的基本步骤:
在终端中导航到包含 Git 仓库的目录。
运行 git log 命令查看最近的提交记录,并找到你想要撤销的提交的哈希值(commit hash)。
运行 git reset 命令撤销该 commit。请确保将 替换为你想要撤销的实际哈希值。
如果你只想撤销 commit,并将更改保留在你的工作目录中,可以使用 git reset --soft HEAD~1 命令。
如果你想彻底删除该 commit,并删除工作目录中的更改,请使用 git reset --hard HEAD~1 命令。请注意,这将永久删除该 commit 及其更改,因此请务必在使用该命令之前备份你的代码库。
在完成上述步骤后,你可以编辑你的代码并创建一个新的 commit,而不会包含之前的错误 commit。请注意,如果你的代码库已经与其他人共享,你应该与他们讨论该 commit 的更改,并确保你的更改不会对他们造成不必要的麻烦。

想把linux的和windows的合并,

git remote add origin https://github.com/your-username/your-repository.git

最终和chatgpt聊(聊了好久),发现:

那为啥git status显示我有很多变化,但其实这些变化早就在windows里push上去了
如果你在 Linux 中克隆了一个仓库,并将其复制到 Windows 上进行更改和提交,然后又将更改推送回远程仓库,那么当你在 Linux 中使用 git status 命令时,它可能会显示许多未暂存的更改。
这是因为在 Windows 中提交更改时,Windows 使用不同的行尾符(CRLF),而在 Linux 中,行尾符是 LF。这意味着当你将文件从 Windows 复制到 Linux 时,Git 会将所有行尾符转换为 LF。这会导致 Git 认为该文件已被修改,即使它的内容没有更改。
要解决这个问题,可以使用 git config 命令配置 Git,在检查更改时忽略行尾符的差异。以下是在 Linux 中配置 Git 忽略行尾符差异的步骤:

git config --global core.autocrlf input

在终端中导航到你的本地代码库目录。 运行以下命令来配置 Git 忽略行尾符差异: python Copy code git config
–global core.autocrlf input 这个命令会告诉 Git 在检查更改时将行尾符转换为 LF,但在提交更改时不会自动将其转换回 CRLF。 运行 git status 命令查看是否仍然存在未暂存的更改。 请注意,如果你在
Windows 和 Linux 上同时使用 Git,或者与其他人共享代码库,那么应该协商如何处理行尾符。一些开发人员可能偏好
CRLF,而另一些开发人员则偏好 LF。在协商之后,应该为所有开发人员配置相同的行尾符设置。

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44907625/article/details/129542845

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法