实训day14

一、Git安装

1.安装git

2.创建git仓库

3.创建文件并且提交文件  (git add  . 将文件提交到缓存)(git  commit -m  说明)(git log  查看历史)

4.分支创建与解决分支冲突问题

        创建主机(git  192.168.1.26)

        (1)[root@git ~]# yum -y install git

安装成功如下图:


        (2)[root@git ~]# mkdir /yy000   //存放git文件

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

[root@git ~]# cd /yy000
[root@git yy000]# 
[root@git yy000]# git init   //相当于建立一个工作区
初始化空的 Git 版本库于 /yy000/.git/

有隐藏文件

             
        (3)[root@git yy000]# vim Test.java
public class Test{
        public static void main(String [] args){
                System.out.println("hello world");
        }
}

[root@git yy000]# git config --global user.name hzw
[root@git yy000]# git config --global user.email 1280854768@qq.com
[root@git yy000]# echo "//这是一行java注释,不会被编译,能提交文件的可读性" > Test.java 
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性


分支的应用

[root@git yy000]# git log   (查看历史提交记录)

[root@git yy000]# git branch   (仓库当前仓库的分支)
* master            (当前只有一个master分支,这个分支叫主分支,最后所有分支会合到master主分支)


//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//我又加了一个ABBABBBABABB注释 

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

在(创建b分支,在b上创建内容a分支可以看到)

[root@git yy000]# git branch
* abranch
  master
[root@git yy000]# git checkout -b bbranch  跳转的时候创建分支
切换到一个新分支 'bbranch'
[root@git yy000]# git branch
  abranch
* bbranch
  master
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//我又加了一个ABBABBBABABB注释
//我是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注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//我又加了一个ABBABBBABABB注释
//我是a员工,我不骄傲
我是b员工

[root@git yy000]# git branch cbranch  创建分支

[root@git yy000]# mkdir abc
[root@git yy000]# touch efg
[root@git yy000]# ls
abc  efg  Test.java
[root@git yy000]# git add abc/
[root@git yy000]# gitcommit -m "更新一个目录"
-bash: gitcommit: 未找到命令
[root@git yy000]# git commit -m "更新一个目录"
# 位于分支 master
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#    efg
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
[root@git yy000]# git add efg
[root@git yy000]# git commit -m "新增了一个efg文件"
[master 82926d5] 新增了一个efg文件
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 efg
[root@git yy000]# git add .
[root@git yy000]# git commit -m "所有的文件都提交"
# 位于分支 master
无文件要提交,干净的工作区

分支的创建

 [root@git yy000]# git branch
  abranch
  bbranch
  cbranch
* master

[root@git yy000]# git merge abranch
 没有什么理由,我就是要合并
[root@git yy000]# git log

分支的删除 

[root@git yy000]# git branch -d abranch
已删除分支 abranch(曾为 2c99666)。
[root@git yy000]# git branch -d bbranch
已删除分支 bbranch(曾为 ba33d65)。
[root@git yy000]# git branch -d cbranch
已删除分支 cbranch(曾为 1b9eaa5)。
[root@git yy000]# git branch
* master
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//我又加了一个ABBABBBABABB注释
//我是a员工,我不骄傲
我是b员工

合并时有可能会出现文件冲突:比如:主分支修改了这个文件,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]# git branch
  master
* newbranch
[root@git yy000]# cat Test.java 
//我是主分支,我修改了文件0
[root@git yy000]# echo "//我是newbranch分支" >> Test.java 
[root@git yy000]# cat Test.java 
//我是主分支,我修改了文件0
//我是newbranch分支
[root@git yy000]# git checkout master
M    Test.java
切换到分支 'master'
[root@git yy000]# cat Test.java 
//我是主分支,我修改了文件0
//我是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" 和/或 "git commit -a")
[root@git yy000]# git add .
[root@git yy000]# git commit -m "abcd"
[newbranch 838d01d] abcd
 1 file changed, 2 insertions(+), 5 deletions(-)
[root@git yy000]# git checkout master
切换到分支 'master'
[root@git yy000]# cat Test.java 
//这是一行java注释,不会被编译,能提交文件的可读性
//我又加了一个注释
//我又加了一个ABBABBBABABB注释
//我是a员工,我不骄傲
我是b员工
[root@git yy000]# echo "eft"
eft
[root@git yy000]# git add .
[root@git yy000]# git commit -m "ccc"
# 位于分支 master
无文件要提交,干净的工作区
[root@git yy000]# echo "fsddsgsFSGSSFF" > Test.java 
[root@git yy000]# git add .
[root@git yy000]# git commit -m "dadadadadad"
[master 1a56c36] dadadadadad
 1 file changed, 1 insertion(+), 5 deletions(-)
[root@git yy000]# #主分支有修改,newbranch也有修改
[root@git yy000]# #现在要将newbranch合并到主分支
[root@git yy000]# git branch
* master
  newbranch
[root@git yy000]# git merge newbranch
自动合并 Test.java
冲突(内容):合并冲突于 Test.java
自动合并失败,修正冲突然后提交修正的结果。
以上创造了一个冲突

解决冲突

[root@git yy000]# cat Test.java 
<<<<<<< HEAD
fsddsgsFSGSSFF
=======
//我是主分支,我修改了文件0
//我是newbranch分支
>>>>>>> newbranch
[root@git yy000]# vim Test.java 
 

 Git拉去

新建主机(zhangsan  192.168.1.27   )

安装git

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

做免密登录

[root@localhost yy000]# git pull
Already up-to-date.
[root@localhost yy000]# #修改内容
[root@localhost yy000]# #设置自己的姓名和邮箱
[root@localhost yy000]# git config --global user.name aaa
[root@localhost yy000]# git config --global user.email aaa@163.com
[root@localhost yy000]# #修改内容
[root@localhost yy000]# touch A.class
[root@localhost yy000]# git add .
[root@localhost yy000]# git commit -m "aaaaa"
[master 392138f] aaaaa


[root@localhost yy000]# #第一次使用对方的项目   git clone
[root@localhost yy000]# #获取更新 就用git  pull
[root@localhost yy000]# #git clone 会在当前目录下创建新的仓库
 

在码云上面创建项目并且pull和push

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

点击初始化

[root@localhost yy000]# git clone https://gitee.com/effective-maple-leaf-c/laoli.git
(复制自己的网址)

[root@localhost yy000]# ls
A.class  efg  laoli  Test.java
[root@localhost yy000]# cd laoli/
[root@localhost laoli]# mkdir -p src/main/java
[root@localhost laoli]# ls
README.en.md  README.md  src
[root@localhost laoli]# touch src/main/java/Test.java


[root@localhost laoli]# git commit -m "文件提交"
[root@localhost laoli]# git push

Username for 'https://gitee.com': 13269546219   (输入网站的账户)
Password for 'https://13269546219@gitee.com':   (输入网站的密码)
Counting objects: 7, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 429 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 2846f492
To https://gitee.com/effective-maple-leaf-c/laoli.git
   a8899d3..520fd68  master -> master

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的C语言万年历的实训报告,供您参考: 一、实训目的 本次实训的主要目的是通过编写一个简单的C语言万年历程序,巩固C语言基本语法和编程思想,提高编程能力和解决问题的能力。 二、实训要求 1、能够使用C语言基本语法和控制语句编写程序。 2、能够使用数组来存储和操作数据。 3、能够使用函数来实现模块化编程。 4、能够使用指针来操作内存中的数据。 5、能够使用文件来读取和写入数据。 三、实训内容 1、程序功能 本程序实现了一个简单的万年历功能,可以通过输入年份和月份来显示该月的日历。 2、程序实现 以下是本程序的主要代码实现: ```c #include <stdio.h> // 判断是否为闰年 int is_leap_year(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; } else { return 0; } } // 获取某个月份的总天数 int get_days(int year, int month) { int days[] = {31, 28 + is_leap_year(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return days[month - 1]; } // 获取某个日期是星期几 int get_weekday(int year, int month, int day) { if (month == 1 || month == 2) { year--; month += 12; } int c = year / 100; int y = year % 100; int w = y + y / 4 + c / 4 - 2 * c + 26 * (month + 1) / 10 + day - 1; w = (w % 7 + 7) % 7; return w; } // 显示日历 void show_calendar(int year, int month) { int days = get_days(year, month); int weekday = get_weekday(year, month, 1); printf(" 日 一 二 三 四 五 六\n"); int i; for (i = 0; i < weekday; i++) { printf(" "); } for (i = 1; i <= days; i++) { printf("%2d ", i); if ((weekday + i) % 7 == 0) { printf("\n"); } } if ((weekday + days) % 7 != 0) { printf("\n"); } } int main() { int year, month; printf("请输入年份:"); scanf("%d", &year); printf("请输入月份:"); scanf("%d", &month); if (month < 1 || month > 12) { printf("月份输入错误!\n"); return 1; } printf(" %d年%d月\n", year, month); show_calendar(year, month); return 0; } ``` 四、实训总结 通过本次实训,我学会了如何使用C语言来编写一个简单的万年历程序,巩固了C语言基本语法和编程思想,加强了对函数、数组、指针、文件等概念和用法的理解,提高了编程能力和解决问题的能力。同时,我也意识到在编程过程中需要注重代码的规范、可读性和可维护性,这对于日后的开发工作非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值