Linux(ubuntu)下git / github/gitee使用
先附上git命令
linux@chenxiao:~$ cd Templates/
先进入一个目录,也可mkdir新建一个目录:用于接下来初始化为git可以管理的仓库
这个目录就是所说的工作目录,指当前正在进行开发的项目的本地目录。
linux@chenxiao:~/Templates$ git init
已初始化空的 Git 仓库于 /home/linux/Templates/.git/
1. 在终端输入 git init 初始化git仓库
linux@chenxiao:~/Templates$ ll -a
总用量 16
drwxr-xr-x 3 linux linux 4096 12月 29 10:13 ./
drwxr-xr-x 38 linux linux 4096 12月 29 10:12 ../
drwxrwxr-x 7 linux linux 4096 12月 29 10:13 .git/
终端输入 ll- a查看一下隐藏文件,发现新产生一个 .git/文件。.git就是我们所说的本地仓库(版本库)
本地仓库是 Git 用来存储项目历史记录和版本信息的地方。它是存储在工作目录下的一个隐藏目录(.git文件夹)。仓库包含了项目的历史提交记录、分支、标签等重要信息。
远程仓库:远程仓库是位于远程服务器上的存储库,用于备份、协作和共享代码。常见的远程仓库托管服务包括 GitHub、GitLab 和 Bitbucket。你可以使用 git remote add
命令将本地仓库与远程仓库关联,并使用 git push
命令将本地仓库的代码推送到远程仓库中(文章末尾会有介绍)
linux@chenxiao:~/Templates$ vim test12-29.cpp
创建一个新文件 test12-29.cpp 随意写点数据进去
linux@chenxiao:~/Templates$ git add test12-29.cpp
2. 终端输入 git add test12-29.cpp 将文件更改添加到 Git 的暂存区 -A选项可全部添加
linux@chenxiao:~/Templates$ git commit -m "first commit"
[master (根提交) 5bb74d1] first commit1 file changed, 6 insertions(+)create mode 100644 test12-29.cpp
3. 输入 git commit -m " " 它用于将更改提交到本地仓库(注释内容随便写,一般写我们本次提交的目的,修改了哪里) 根提交就是第一次初始提交
linux@chenxiao:~/Templates$ git status
位于分支 master
无文件要提交,干净的工作区
4. 输入 git status 查看当前分支的状态,这将显示您当前工作目录与仓库的差异,例如哪些文件已被修改、哪些文件已被添加到暂存区、哪些文件已被删除等等。
上述的输出代表 :目前没有进行任何修改或添加操作,或者所有的修改和添加操作都已经成功提交到本地仓库中了。
linux@chenxiao:~/Templates$ vim test12-29.cpp
接下来修改下 test12-29.cpp文件。vim打开文件后,随便改动下内容。
linux@chenxiao:~/Templates$ git status
位于分支 master
尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git restore <文件>..." 丢弃工作区的改动)修改: test12-29.cpp修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
修改之后再查看状态。输出信息表示:文件已经被修改过,但是还没有被添加到暂存区中用于下一次提交。想要再次提交,就要先 git add 先把改动的文件添加到暂存区。然后再使用 git commit
命令将更改提交到本地仓库中
linux@chenxiao:~/Templates$ git add test12-29.cpp
linux@chenxiao:~/Templates$ git status
位于分支 master
要提交的变更:(使用 "git restore --staged <文件>..." 以取消暂存)修改: test12-29.cpp
添加暂存区后再git status查看下状态,输出信息显示当前分支是 master
,并且工作区的 test12-29.cpp
文件已经被修改且已添加到暂存区中,可以进行下一次提交。
linux@chenxiao:~/Templates$ git commit -m "second commit"
[master 0d125d6] second commit1 file changed, 2 insertions(+), 1 deletion(-)
接下来就可以用 git commit -m 进行提交:提交信息显示了提交的哈希值(0d125d6)、修改了的文件数目以及插入和删除的行数。
linux@chenxiao:~/Templates$ git status
位于分支 master
无文件要提交,干净的工作区
再次查看状态,显示干净的工作区。
linux@chenxiao:~/Templates$ git log
commit 0d125d65e3b506f0cd0eb787c3dfbbf841947899 (HEAD -> master)
Author: chenxiao <925678073@qq.com>
Date: Fri Dec 29 11:02:49 2023 +0800second commitcommit 5bb74d1951d5bd7dc7ecf6afe4ffee18d882fb90
Author: chenxiao <925678073@qq.com>
Date: Fri Dec 29 10:41:00 2023 +0800first commit
5. 版本穿越 先使用 git log
命令可以查看项目的提交历史。每个提交记录包含一些关键信息,包括提交的哈希值、作者、日期和提交消息,还可以加上--pretty=oneline
参数得到如下输出
linux@chenxiao:~/Templates$ git log --pretty=oneline
0d125d65e3b506f0cd0eb787c3dfbbf841947899 (HEAD -> master) second commit
5bb74d1951d5bd7dc7ecf6afe4ffee18d882fb90 first commit
还可以用git reflog查看 ,这里不演示了,自己敲一下就知道了
使用git reset
命令,将版本回退:在使用 git reset
命令时,您需要提供一个有效的提交(commit)标识符或引用,如提交的哈希值、分支名或标签名。例如下面的 --hard HEAD^表示返回啥哪个一次提交的位置。--hard
选项时,请注意,您将不可恢复地丢失之前对代码所做的更改
linux@chenxiao:~/Templates$ git reset --hard HEAD^
HEAD 现在位于 5bb74d1 first commit
一般使用 git reset --hard 版本号 穿越到指定版本。
再次 git reflog 查看一下,发现moving to 49aa20a 说明移动了. 此时文件内容为这次提交的内容。
注:HEAD 是一个指向当前所在分支的指针,git版本控制的本质就是指针
git 分支
1.查看分支 git branch -v
linux@chenxiao:~/Templates$ git branch -v
* master 49278f6 第二次提交
2.创建分支 git branch chenxiaobranch 其中chenxiaobranch是自己起的分支名
linux@chenxiao:~/Templates$ git branch chenxiaobranch
3.切换分支 git checkout chenxiaobranch
linux@chenxiao:~/Templates$ git branch -vchenxiaobranch 49278f6 第二次提交
* master 49278f6 第二次提交
linux@chenxiao:~/Templates$ git checkout chenxiaobranch
切换到分支 'chenxiaobranch'
linux@chenxiao:~/Templates$ git branch -v
* chenxiaobranch 49278f6 第二次提交master 49278f6 第二次提交
切换分支后,注意 * 的位置,代表位于当前分支
4.合并分支
合并前先在chenxiaobranch分支下对文件进行修改。修改之后与master合并
linux@chenxiao:~/Templates$ git checkout master
切换到分支 'master'
linux@chenxiao:~/Templates$ git merge chenxiaobranch
更新 49278f6..3d5a58e
Fast-forwardgit.cpp | 1 +1 file changed, 1 insertion(+)
合并冲突:如果两个分支都对某个文件同位置进行了修改,并且都把修改commit提交到了本地
合并后会出现冲突。需要人为决定使用哪个为新代码内容
nux@chenxiao:~/Templates$ git merge chenxiaobranch
自动合并 git.cpp
冲突(内容):合并冲突于 git.cpp
自动合并失败,修正冲突然后提交修正的结果。
如何推送到github 远程仓库呢???前提是前面add commit 等命令都执行完。
使用 SSH 协议进行推送 ,在终端依次输入如下命令
1.git remote set-url origin git@github.com:xovt/MyRepository 本地仓库与远程仓库关联
origin
是远程仓库的名称 xovt/MyRepository 代表 git账户名/存储库名
在github中这里新建存储库
进入自己的存储库,点击绿色的code 就能看到SSH的连接地址。也可像我那样手动添加。
我是写的这个,两个都一样。区别就是后者多了.git
2.git push origin master 将本地分支的提交推送到远程仓库。origin
是远程仓库的名称,master
是要推送的本地分支 。 执行这个命令后本地提交就推送到GitHub的仓库了,这里我自己的GitHub仓库设置的就是 xovt/MyRepository
3.克隆(下载)git clone 存储库的路径(本次我用的是点击上图绿色Code的路径)
linux@chenxiao:~/Templates$ git clone git@github.com:xovt/MyRepository.git
正克隆到 'MyRepository'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 1), reused 8 (delta 1), pack-reused 0
接收对象中: 100% (8/8), 24.65 MiB | 3.41 MiB/s, 完成.
处理 delta 中: 100% (1/1), 完成.
linux@chenxiao:~/Templates$ ls
git.cpp MyRepository
克隆成功,查看在输入克隆命令的目录下下载,并自动创建与存储库同名的目录,包含所有文件
gitee
gitee 也是一个道理
git remote add _origin git@gitee.com:chenxiaoubuntu/onboard.git
git push _origin cxbranch
-
本地分支:本地分支是在本地仓库中创建的代码分支。您可以在本地仓库中创建和切换不同的分支来独立开发和测试代码。通过使用本地分支,您可以同时进行多个任务或实验,而不会影响主分支或其他分支的稳定性。
- 创建本地分支:使用
git branch <branch-name>
命令创建一个新的本地分支。 - 切换到本地分支:使用
git checkout <branch-name>
命令切换到指定的本地分支。 - 查看本地分支:使用
git branch
命令查看本地仓库中的所有分支。
- 创建本地分支:使用
-
远程分支:远程分支是存储在远程仓库中的代码分支。远程分支通常与团队成员共享,用于协同开发和代码集成。您可以将本地分支与远程分支进行跟踪,以便将本地的变更推送到远程仓库或者从远程仓库拉取最新的变更。
- 查看远程分支:使用
git branch -r
或git branch -a
命令查看远程仓库中的分支列表。 - 将本地分支推送到远程仓库:使用
git push <remote-name> <local-branch-name>
命令将本地分支推送到指定的远程仓库。 - 从远程仓库拉取最新的变更:使用
git pull <remote-name> <remote-branch-name>
命令从指定的远程仓库拉取最新的变更到本地分支。
- 查看远程分支:使用
相关文章:
Linux(ubuntu)下git / github/gitee使用
先附上git命令 linuxchenxiao:~$ cd Templates/ 先进入一个目录,也可mkdir新建一个目录:用于接下来初始化为git可以管理的仓库 这个目录就是所说的工作目录,指当前正在进行开发的项目的本地目录。 linuxchenxiao:~/Templates$ git init 已…...
回归预测 | MATLAB实OOA-LSTM基于鱼鹰优化算法优化长短期记忆网络的多输入单输出数据回归预测模型 (多指标,多图)
回归预测 | MATLAB实OOA-LSTM基于鱼鹰优化算法优化长短期记忆网络的多输入单输出数据回归预测模型 (多指标,多图) 目录 回归预测 | MATLAB实OOA-LSTM基于鱼鹰优化算法优化长短期记忆网络的多输入单输出数据回归预测模型 (多指标&a…...
2023年工作初体验
23年终于正式入职,参与了正式上线的电商平台、crm平台等项目的研发,公司规模较小,气氛融洽,没有任何勾心斗角、末位淘汰,几乎没什么压力。虽然是我的第一家公司,但实际是个适合养老的公司(笑 总…...
PostgreSQL 作为向量数据库:入门和扩展
PostgreSQL 拥有丰富的扩展和解决方案生态系统,使我们能够将该数据库用于通用人工智能应用程序。本指南将引导您完成使用 PostgreSQL 作为向量数据库构建生成式 AI 应用程序所需的步骤。 我们将从pgvector 扩展开始,它使 Postgres 具有特定于向量数据库…...
亚信安慧AntDB数据库:企业核心业务系统数据库升级改造的可靠之选
在近期召开的“2023年国有企业应用场景发布会”上,亚信安慧公司的核心数据库产品AntDB闪耀登场,技术总监北陌先生针对企业核心业务系统数据库升级改造的关键议题发表了深度分享。他从研发、工程实施和运维管理三个维度细致剖析了当前企业在进行数据库升级…...
CommonJS 和 ES6 Module:一场模块规范的对决(上)
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
python快速实现简易电子音乐盒(电子钢琴)
首先第一步附上完整源码(基于pygame库) import pygame# 初始化pygame pygame.init()# 设置窗口大小 window_size (800, 600) screen pygame.display.set_mode(window_size)# 加载音频文件 C4 pygame.mixer.Sound("test1/C4.wav") D4 pyga…...
详解bookkeeper AutoRecovery机制
引言小故事 张三在一家小型互联网公司上班,由于公司实行的996,因此经常有同事“不辞而别”,为了工作的正常推进,团队内达成了某种默契,这种默契就是通过某个规则来选出一个同事,这个同事除了工作之余还有额…...
使用 Ubuntu 20.04 进行初始服务器设置
前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 使用 Ubuntu 20.04 进行初始服务器设置 介绍 首次创建新的 Ubuntu 20.04 服务器时,应该执行一些重…...
【SpringCloud】6、Spring Cloud Gateway路由配置
在 Spring Cloud Gateway 中配置 uri 有三种方式,包括: 1、WebSocket路由 spring:cloud:gateway:routes:- id: bt-apiuri: ws://localhost:9090/predicates:...
pdf转换成word怎么转?一篇文章教你轻松搞定
pdf转换成word怎么转?你是否曾经遇到过需要将PDF文件转换成Word格式的情况?比如,你需要编辑一个文档,或者想将一些电子书或报告复制到Word中以便于编辑或重新排版。在这种情况下,如何将PDF文件转换成Word格式呢&#x…...
【中南林业科技大学】计算机组成原理复习包括题目讲解(超详细)
来都来了点个赞收藏关注一下再走呗🌹🌹🌹🌹 第1章:绪论 1.冯诺依曼机特点,与现代计算机的区别 冯诺依曼计算机的基本思想是:程序和数据以二进制形式表示,存储程序控制。在计算机中&…...
恭喜 Databend 上榜 2023 开源创新榜「优秀开源项目 」
近日,国家科技传播中心见证了一场开源界的重要事件:由中国科协科学技术传播中心、中国计算机学会、中国通信学会和中国科学院软件研究所联合主办,CSDN 承办的 2023 年开源创新榜专家评审会圆满落幕。由王怀民院士担任评委会主任,评…...
网络连通性批量检测工具
一、背景介绍 企业网络安全防护中,都会要求配置物理网络防火墙以及主机防火墙,加强对网络安全的防护。云改数转之际,多系统上云过程中都会申请开通大量各类网络配置,针对这些复杂且庞大的网络策略开通配置,那么在网络配…...
2023高级人工智能期末总结
1、人工智能概念的一般描述 人工智能是那些与人的思维相关的活动,诸如决策、问题求解和学习等的自动化; 人工智能是一种计算机能够思维,使机器具有智力的激动人心的新尝试; 人工智能是研究如何让计算机做现阶段只有人才能做得好的…...
Oracle数据库迁移所有文件到新挂载磁盘路径
主要步骤: 1、停掉服务, 2、关闭数据库shutdown immediate 3、移动数据文件到新的位置。 4、启动到mount状态,如果也移动了ctl,需要启动到nomount下,生成参数文件。 5、alter database rename 文件名 to 新位置&a…...
基于YOLOv7算法的高精度实时安全背心目标检测识别系统(PyTorch+Pyside6+YOLOv7)
摘要:基于YOLOv7算法的高精度实时安全背心目标检测系统可用于日常生活中检测与定位安全背心,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训…...
Mac——VsCode使用格式化工具进行整理和格式化
1. 打开VSCode编辑器。 2. 点击左下角⚙️图标,打开设置 3. 进入设置后,你会看到一个搜索框,在搜索框中输入 format on save 来查找相关设置项。 4. 在设置列表中找到 Editor: Format On Save 选项,勾选它以启用在保存文件时自动格…...
73.乐理基础-打拍子-还原号、临时变音记号在简谱中的规则
上一个内容:72.乐理基础-打拍子-加延音线的节奏型-CSDN博客 下图中1-13,就是四几拍中所有可能出现的节奏型,以及它们的组合方式,需要练习,可以买一本视唱书去练习,搜乐谱练习,自己写节奏型根据…...
一款超酷的一体化网站测试工具:Web-Check
Web-Check 是一款功能强大的一体化工具,用于发现网站/主机的相关信息。用于检查网页的工具,用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题,并提供修复建议。 它只需要输入一个网站就可以查看一个网…...
MockServer简单使用记录
下载源码 下载git源码:git clone https://github.com/mock-server/mockserver.git 通过执行文件编译成jar包 ./mvnw clean package 可能会报错。 启动命令 java -jar ./mockserver-netty-jar-with-dependencies.jar -serverPort 1080 -proxyRemotePort 80 -pro…...
AI+金融:大模型引爆金融科技革命
仅供机构投资者使用 证券研究报告|行业深度研究报告 AI金融:大模型引爆金融科技革命 “AI应用”系列(二) 华西计算机团队 2023年7月28日 分析师:刘泽晶 联系人:刘波 SAC NO:S1120520020002 邮箱:…...
数据库(二)实验一:MySQL数据库的C/S模式部署
实验要求 在云服务器上启动两个实例Server和Client,并实现两个实例之间的免密ssh登录。在Server和Client上分别安装MySQL,在Server上创建数据库和用户,在Client上远程连接Server的数据库。 实验内容 创建两个云服务器实例 在腾讯云购买两个…...
RLHF几大常用框架实践对比(trlx、deepspeedchat、colossalaichat)
原文:RLHF几大常用框架实践对比(trlx、deepspeedchat、colossalaichat) - 知乎 目录 收起 一、RLHF的作用 二、实践效果 三、怎么做 1、框架 2、算法 3、数据 4、调参 一、RLHF的作用 从InstructGPT的论文中看,RLHF目的…...
Oracle/Myql批量操作
前言:在oracle中使用insert into values (),(),()多种方式都不能成功,记录正确的批量方法 注意:oracle有自己实现批量的方法,mysql适用的,oracle不一定适用 <insert id"insertTaskImportOpen" parameterType"l…...
关于一个web站点的欢迎页面
- 什么是一个web站点的欢迎页面? - 对于一个webapp来说,我们是可以设置它的欢迎页面的。 - 设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候…...
1050. 鸣人的影分身(dp划分)
题目: 1050. 鸣人的影分身 - AcWing题库 输入样例: 1 7 3输出样例: 8 思路: 代码: #include<iostream> using namespace std; const int N20; int f[N][N]; int main() {int T,m,n;cin>>T;while(T--)…...
51单片机点灯入门教程——2. 呼吸灯效果
基本说明 本章使用芯片:STC8H8K64U核心板 芯片手册:点此查看 Keil 开发环境配置:点此查看 本章学习内容:利用库函数,开发C程序,实现呼吸灯效果。 代码实例 需求:使用串口来控制呼吸灯效果&…...
shell脚本实现九九乘法表
9*9乘法表 判断服务是否开启 1.查看80端口是否被监听 [rootlocalhost ~]# ss -an | grep 80 tcp LISTEN 0 128 *:80 *:* 2.查看80端口/httpd服务是否开启 [rootlocalhost ~]# n…...
CAAC无人机操作证考证报名流程及白底证件照片制作方法
在这个无人机技术日新月异的时代,拥有一张CAAC民用无人机操作证不仅意味着你能够合法地在天空翱翔,也象征着你对飞行技术的尊重和对规章制度的遵守。如果你怀揣着成为无人机飞行员的梦想,那么,让我们一起揭开CAAC民用无人机操作证…...
宜兴做网站的公司/爱站小工具圣经
文末扫码免费领【SQL学习路径导图】唐亦六安 | 作者知乎 | 来源https://zhuanlan.zhihu.com/p/113239595刚接触sql那会,我总是遇到很多问题,写的sql太过于冗杂或无从下手;连接逻辑不太清晰;解读需求时间过长等等。一个SQL能够解决…...
手机定制网站/百度信息流平台
watchEffect函数的作用: 传入的一个函数,当依赖项变化的时候,重新执行改函数。 watchEffect函特性: 与watch相似都可以监听一个数据源。 但是watchEffect会在初始化的时候调用一次,与watch的immediate类似。 watch…...
网站流量如何转化为钱/网页生成
(注:简介基于IDEA的版本为:11.0,下载地址: http://www.jetbrains.com/idea/ ) 打开IDEA,(当第一次打开的时候出现的是一个欢迎页面,随便创建一个project来进入到IDEA的主…...
张家港网站建设/百度seo新站优化
引入:我们Architect Group弄了一台新机器,刚装完CentOS系统,简单设置了下eth0后,能访问内网机器(比如我自己的desktop),但是没办法访问外网。回想上次也有人找我配置这个,所以这里就…...
做自己的直播网站/潍坊网站关键词推广
clean the macOS, no more input installed;in Xcode, run debug;drag debug app to ~/library/input methods;to systray, add input;in Xcode, active the input;it works!if no effect, go to 1, and then restar macOS, go to 1....
重庆地产网站建设/百度app下载官方免费下载最新版
最近DBA 乙在更新Oracle ERP10.7 TEST DB时,在更改apps这一步骤出现问题,导致无法登陆ERP10.7 Form。按照更改ERP10.7 apps schema密码的方法中troubleshooting部分仍然无法解决问题:UPDATE apps.fnd_oracle_useridSET encrypted_oracle_pass…...