Git的应用及码云的应用

Git

准备一台主机,安装应用git

[root@git ~]# yum -y install git

[root@git ~]# rpm -ql  git 查看版本信息
[root@git ~]# git

[root@git ~]# mkdir /yy000   创建目录

使用git指令,一定要cd到初始化之后的目录

cd到yy000目录中使用init指令促使初始化
[root@git ~]# cd /yy000/
[root@git yy000]# ls
[root@git yy000]# git init
初始化空的 Git 版本库于 /yy000/.git/
[root@git yy000]# ls -a
.  ..  .git
[root@git yy000]# cd ./git
-bash: cd: ./git: 没有那个文件或目录
[root@git yy000]# cd .git/
[root@git .git]# ls
branches  config  description  HEAD  hooks  info  objects  refs
[root@git .git]# cd ..
[root@git yy000]# vim Test.java   写一个java文件
public class Test{
        public static void main(String [] args){
                System.out.println("hello world");
        }
}
[root@git yy000]# git log     查看日志
fatal: bad default revision 'HEAD'
[root@git yy000]# git add Test.java    添加到缓存
[root@git yy000]# git commit -m "新建了一个Test.java文件,这是新建的"     放到仓库,后面进行说明

需要自己创建账户邮箱...

[root@git yy000]# git config --global user.name chz        创建账户
[root@git yy000]# git config --global user.email  18009413571@163.com        创建邮箱

修改Test.java文件,添加一行注释

[root@git yy000]# echo "//这是一行java注释,不会被编译,能提交文件的可读性" > Test.java

[root@git yy000]# git add .
[root@git yy000]# git commit -m "这是第二次提交项目"
[master(根提交) af919f2] 这是第二次提交项目
 1 file changed, 1 insertion(+)
 create mode 100644 Test.java
[root@git yy000]# git log
commit af919f2cc55c8500502b205e3199c0d1830b7fdf
Author: chz <18009413571@163.com>
Date:   Thu Jul 25 10:51:51 2024 +0800

    这是第二次提交项目

安装git

创建了git仓库

创建文件并且提交文件

git init ,git add . (将文件提交到缓存)git commit -m 说明, git log(查看历史)

[root@git yy000]# echo "//我又加了一个注释" >> Test.java 
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
[root@git yy000]# git add
没有指定文件,也没有文件被添加。
也许您想要执行 'git add .'?
[root@git yy000]# git add .
[root@git yy000]# git commit -m "将缓存中的内容交到仓库"
[master a978a8d] 将缓存中的内容交到仓库
 1 file changed, 1 insertion(+)
[root@git yy000]# git log
commit a978a8d3e20c8403a1c27fa15ce8a3b7437448f0
Author: chz <18009413571@163.com>
Date:   Thu Jul 25 11:11:17 2024 +0800

    将缓存中的内容交到仓库

commit af919f2cc55c8500502b205e3199c0d1830b7fdf
Author: chz <18009413571@163.com>
Date:   Thu Jul 25 10:51:51 2024 +0800

    这是第二次提交项目
[root@git yy000]# 

查看当前仓库的分支

[root@git yy000]# git branch
* master

当前只有一个master分支,这个分支又叫主分支,当工作完成后,所有的分支都会合并到主分支

要求abc三个人实现一个接口,一个文件在同一时间只能被一个用户编辑

[root@git yy000]# git branch abranch
[root@git yy000]# git branch
  abranch
* master
[root@git yy000]# git checkout abranch        [root@git yy000]# ls
Test.java
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia

切换到分支,修改内容。
[root@git yy000]# echo "//我是a员工,我不骄傲" >> Test.java 
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia
//我是a员工,我不骄傲
[root@git yy000]# git add .
[root@git yy000]# git commit -m "a员工提交的内容"
[abranch 9288330] a员工提交的内容
 1 file changed, 1 insertion(+)
 切换到abranh分支上
切换到分支 'abranch'
[root@git yy000]# git branch        查看
* abranch
  master

切换到master上,没有看到改动

[root@git yy000]# git checkout master
切换到分支 'master'
[root@git yy000]# git branch
  abranch
* master
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia

切换回到abranch,可以看到修改

创建b分支,修改内容后切换到a分支可以看到修改

[root@git yy000]# git checkout -b bbranch
切换到一个新分支 'bbranch'
[root@git yy000]# git branch
  abranch
* bbranch
  master
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia
//我是a员工,我不骄傲
[root@git yy000]# echo "//我是b员工"  >> Test.java 
[root@git yy000]# git branch
  abranch
* bbranch
  master
[root@git yy000]# git checkout abranch
M    Test.java
切换到分支 'abranch'
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia
//我是a员工,我不骄傲
//我是b员工
[root@git yy000]# 

[root@git yy000]# git merge abranch        内容合并到master

删除abc三条分支

[root@git yy000]# git branch -d abranch
已删除分支 abranch(曾为 a399028)。
[root@git yy000]# git branch -d bbranch
已删除分支 bbranch(曾为 9288330)。
[root@git yy000]# git branch -d cbranch
已删除分支 cbranch(曾为 a399028)。
[root@git yy000]# git branch
* master

在合并的时候,有可能产生文件冲突

在合并的时候,两分支也修改了文件,zhangsan分支这个文件,两个分支都发生修改,合并的时候就不清楚哪个分支为主,产生冲突,手动解决

[root@git yy000]# git branch
* master
[root@git yy000]# echo "//我是主分支,我修改了文件0" > Test.java 
[root@git yy000]# git checkout -b newbranch
M    Test.java
切换到一个新分支 'newbranch'
[root@git yy000]# echo "//我是newbranch分支" > Test.java 
[root@git yy000]# cat Test.java 
//我是newbranch分支
[root@git yy000]# git checkout newbranch
M    Test.java
已经位于 'newbranch'
[root@git yy000]# git status
# 位于分支 newbranch
# 尚未暂存以备提交的变更:
#   (使用 "git add <file>..." 更新要提交的内容)
#   (使用 "git checkout -- <file>..." 丢弃工作区的改动)
#
#    修改:      Test.java
#
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#    efg
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
[root@git yy000]# git add .
[root@git yy000]# git commit -m "abcd"
[newbranch e68e0a3] abcd
 2 files changed, 1 insertion(+), 5 deletions(-)
 create mode 100644 efg
[root@git yy000]# git checkout master
切换到分支 'master'
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//wozaitiajia
//我是a员工,我不骄傲
//我是b员工
[root@git yy000]# echo "jffbjcdsm" > Test.java 
[root@git yy000]# git add .
[root@git yy000]# git commit -m "ccc"
[master 7d86339] ccc
 1 file changed, 1 insertion(+), 5 deletions(-)
[root@git yy000]# cat Test.java 
jffbjcdsm

 

主分支有修改,newbranch也有修改

现在要将newbranch合并到主分支

[root@git yy000]# git branch
* master
  newbranch
[root@git yy000]# git merge newbranch
自动合并 Test.java
冲突(内容):合并冲突于 Test.java
自动合并失败,修正冲突然后提交修正的结果。
[root@git yy000]# 

[root@git yy000]# cat Test.java 
<<<<<<< HEAD
jffbjcdsm
=======
//我是newbranch分支
>>>>>>> newbranch

解决冲突

[root@git yy000]# vim Test.java 
[root@git yy000]# cat Test.java 
jffbjcdsm
//我是newbranch分支
[root@git yy000]# git add .
[root@git yy000]# git commit -m "111"           合并修正
[master d1ffbbe] 111
[root@git yy000]# git log

小结:

git仓库的建立

        1.创建目录

        2.进入到这个目录        cd /test

        3.执行git指令        git init

        4.发行一个影藏目录 .git

        5.test目录就是工作区域 ,git就是仓库

2.常用的指令

        1.在test目录中修改文件

        2.git add . 文件名        将修改的文件提交到暂存区域

        3.git commit -m “”“说明”         将暂存的数据保存到仓库

        4.git log         查看提交日志

3.分支

        1.让项目有多种可能性

        2.分支创建,删除合并

                1.查看分支        git branch 有几行,就有几个分支,*标注当前所在的分支

                2.切换分支的指令,git checkout 分支名

                3.新增分支

                        git branch 新分支名

                        在跳转分支的时候创建,git checkout  -b 新分支名

                4.删除分支,要求是分支已经合并

                        git branch -d abranch

4.分支冲突

        将两个分支合并

        git checkout abranch

        git merge bbranch 在a分支合并b分支

        a分支和b分支都对同一个文件进行了修改,并且commit

        合并的时候,就是报分支冲突,需要手动选择,再提交就可以了

git拉取

新建一台机器做免密

[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id root@192.168.2.31
克隆192.168.2.31上的资料

[root@localhost ~]# git clone 192.168.2.31:/yy000/.git/
正克隆到 'yy000'...
remote: Counting objects: 25, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 25 (delta 5), reused 0 (delta 0)
接收对象中: 100% (25/25), done.
处理 delta 中: 100% (5/5), done.
[root@localhost ~]# cd yy000/
[root@localhost yy000]# ls
efg  Test.java
[root@localhost yy000]# ls -a
.  ..  efg  .git  Test.java
[root@localhost yy000]# 
修改内容

设置自己的姓名和邮箱

[root@localhost yy000]# git config --global user.name chz
[root@localhost yy000]# git config --global user.emal chz@163.com
[root@localhost yy000]# touch A.class
[root@localhost yy000]# git add .
[root@localhost yy000]# git commit -m "aaa"
[master 9d9b959] aaa
 Committer: chz <root@localhost.localdomain>
您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:

    git commit --amend --reset-author

 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 A.class
第一次使用对方的项目 git clone

获取更新,就用git pull

git clone 会在当前目录下创建新的仓库

在码云上创建项目

[root@localhost yy000]# cd ..
[root@localhost ~]# git pull
fatal: Not a git repository (or any of the parent directories): .git
[root@localhost ~]# git clone https://gitee.com/chen-xiyu-chz/laochen.git
正克隆到 'laochen'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.

[root@localhost ~]# cd laochen
[root@localhost laochen]# ls
README.en.md  README.md
[root@localhost laochen]# mkdir -p src/main/java
[root@localhost laochen]# touch src/main/java/Test.java
[root@localhost laochen]# tree src/
src/
└── main
    └── java
        └── Test.java

2 directories, 1 file

[root@localhost laochen]# git push
warning: push.default 未设置,它的默认值将会在 Git 2.0 由 'matching'
修改为 'simple'。若要不再显示本信息并在其默认值改变后维持当前使用习惯,
进行如下设置:

  git config --global push.default matching

若要不再显示本信息并从现在开始采用新的使用习惯,设置:

  git config --global push.default simple

参见 'git help config' 并查找 'push.default' 以获取更多信息。
('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
为保持兼容,请用 'current' 代替 'simple' 模式)

Username for 'https://gitee.com': 账号
Password for 'https://18009413571@gitee.com': 
Counting objects: 7, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 442 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/chen-xiyu-chz/laochen.git
   8d2dc90..a6cd8e6  master -> master
 

[root@localhost laochen]# vim src/main/java/Test.java 

public class Test{
        public static void main(String [] args){
                System.out.println("hello world");
        }
}
[root@localhost laochen]# git add .
[root@localhost laochen]# git commit -m "tj"

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

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

相关文章

uniapp开发精选短视频视频小程序实战笔记20240725,实现顶部轮播图和热门短剧

创建项目 创建项目,叫video_app。 在pages.json里面修改一下标题: 新建search搜索页面和me我的页面。 此时界面预览效果如下: 引入静态资源 主要是static里面的内容,全部复制过来。 配置底部导航栏 pages.json,放到顶层,和全部样式同级: "tabBar&quo…

ChatGPT的原理和成本

ChatGPT就是人机交互的一个底层系统&#xff0c;某种程度上可以类比于操作系统。在这个操作系统上&#xff0c;人与AI之间的交互用的是人的语言&#xff0c;不再是冷冰冰的机器语言&#xff0c;或者高级机器语言&#xff0c;当然&#xff0c;在未来的十来年内&#xff0c;机器语…

Origin多个图层的层叠顺序调整

如果你有多个图层在一个图表中&#xff0c;可以在右上方的对象管理器中调整它们之间的层级关系—— 在对象管理器中处于第一位的图层&#xff0c;是层级最低的图层&#xff0c;即处于图表的最次优先显示&#xff1b;反之&#xff0c;处于最后一位的图层&#xff0c;是层级最高…

LeetCode 热题 HOT 100 (011/100)【宇宙最简单版】

【图论】No. 0200 岛屿数量 【中等】&#x1f449;力扣对应题目指路 希望对你有帮助呀&#xff01;&#xff01;&#x1f49c;&#x1f49c; 如有更好理解的思路&#xff0c;欢迎大家留言补充 ~ 一起加油叭 &#x1f4a6; 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&#xf…

C语言 | Leetcode C语言题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; // 判断是否为完全平方数 bool isPerfectSquare(int x) {int y sqrt(x);return y * y x; }// 判断是否能表示为 4^k*(8m7) bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7; }int numSquares(int n) {if (isPerfect…

本宫欢喜新荣记香港:米其林美学月子餐鉴赏和疗愈月子护理之旅

作为大湾区新晋“顶流”母婴护理中心和待产月子大健康解决方案提供者&#xff0c;已具备16年母婴月子专业护理经验的本宫欢喜&#xff0c;近两年备受国内和亚太备孕、待产妈妈群体和家庭珍爱。今年7月下旬&#xff0c;本宫欢喜大湾区百万影响力KOL妈妈系列体验之旅中&#xff0…

【数据结构】搜索二叉树

二叉搜索树 二叉树的博客 在之前的数据结构的文章中已经基本对二叉树有一定的了解&#xff0c;二叉搜索树也是一种数据结构&#xff0c;下面将对二叉搜索树进行讲解。 二叉搜索树的概念 二叉搜索树又称为二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有下面性…

ICIP-2020-A Non-local Mean Temporal Filter for VideoCompression

在 libvpx、VP8、VP9 和 HEVC 等各种编码器实现中&#xff0c;早就发现在预处理阶段过程中从源视频信号去除噪声对客观压缩效率的提升存在好处。通常使用常规的块匹配运动搜索来构建运动轨迹&#xff0c;并沿着轨迹比较每对像素&#xff0c;根据像素间的差异确定时域滤波器系数…

网络原理_初识

目录 一、局域网LAN 二、广域网WAN 三、网络通信基础 3.1 IP地址 3.2 端口号 3.3 协议 3.4 五元组 3.5 OSI七层模型 3.6 TCP/IP五层模型 3.7 网络设备所在分层 3.8 封装和分用 总结 一、局域网LAN 局域网&#xff0c;即 Local Area Network&#xff0c;Local 即标…

Godot游戏制作 05收集物品

创建新场景&#xff0c;添加Area2D节点&#xff0c;AnimatedSprite2D节点 &#xff0c;CollisionShape2D节点 添加硬币 按F键居中&#xff0c;放大视图。设置动画速度设为10FPS&#xff0c;加载后自动播放&#xff0c;动画循环 碰撞形状设为圆形&#xff0c;修改Area2D节点为Co…

看2024如何利用IT项目管理软件实现项目稳定输出,创造价值

曾经做为一个在大型互联网公司工作了10年的项目实施工作人员来讲&#xff0c;亲眼见证了IT项目管理软件的兴起和发展&#xff0c;也深刻体会到它在提升项目效率和管理水平方面的巨大价值。它就像一把神奇的钥匙&#xff0c;打开了项目管理的新世界&#xff0c;让原本混乱无序的…

docer笔记3

docker笔记3 容器基本命令 容器基本命令 下载镜像 docker pull cento新建容器并启动 docker run [可选参数] image# 参数说明 --name“Name” 容器名字 tomcat01 tomcat02 用来区分容器 -d 后台方式运行 -it 使用交互方式运行&#xff0c;进入容器查…

leetcode3098. 求出所有子序列的能量和

官解 class Solution(object):# 定义常量mod int(1e9 7) # 模数&#xff0c;用于防止结果溢出inf float(inf) # 无穷大&#xff0c;用于初始化时的特殊值def sumOfPowers(self, nums, k):n len(nums) # 数组长度res 0 # 用于存储最终结果# 三维动态规划表&#xff0c;…

七、SpringBoot日志

1. 得到日志对象 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; //打印日志…

【C语言】数组栈的实现

栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#…

springboot校园跑腿服务系统-计算机毕业设计源码15157

摘要 本文介绍了一种基于Springboot和uniapp的校园跑腿服务系统的设计与实现。该系统旨在为大学校园提供一种方便快捷的跑腿服务&#xff0c;满足学生和教职员工的日常需求。首先&#xff0c;系统采用了Springboot作为后端框架&#xff0c;利用其轻量级、高效的特性&#xff0c…

学习笔记 韩顺平 零基础30天学会Java(2024.7.22)

P407 接口使用细节2 P407 接口课堂练习 对于最后一个的输出&#xff1a;B因为实现了A的接口&#xff0c;所以和继承一样&#xff0c;B可以访问A的变量 P409 接口VS继承 接口对单继承机制&#xff08;是指只能继承一个类&#xff09;进行了补充 也可以理解为&#xff0c;子类通过…

请你谈谈:针对Mybatis引出的Spring事务的探究2:spring事务的失效

Spring事务失效的常见场景主要包括以下几个方面&#xff0c;这些场景通常是由于对Spring事务管理机制的误解或不当使用所导致的&#xff1a; 方法访问级别不当&#xff1a; 如前所述&#xff0c;Spring AOP默认不会拦截非public方法。因此&#xff0c;如果Transactional注解被…

通信原理-实验六:实验测验

实验六 实验测验 一&#xff1a;测验内容和要求 测试需要完成以下几个步骤&#xff1a; 配置好以下网络图&#xff1b;占总分10%&#xff08;缺少一个扣一分&#xff09;根据下面图配置好对应的IP和网关以及路由等相关配置&#xff0c;保证设备之间连通正常&#xff1b;占总…

《AIGC 实战宝典》(2024版) 正式发布!

2024 新年伊始&#xff0c;OpenAI 推出文生视频 Sora&#xff0c;风靡整个科技圈。 最近又发布了 ChatGPT-4o&#xff0c;这是一个全新模型&#xff0c;不仅能处理文本&#xff0c;还能实时理解和生成音频和图像。OpenAI 用实际行动给全世界的科技公司又上了一课。 如何从0到1…