Git的应用及码云的应用

Git

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

root@git \~\]# yum -y install git \[root@git \~\]# rpm -ql git 查看版本信息 \[root@git \~\]# git ![](https://i-blog.csdnimg.cn/direct/eee1940afd5d4a16b82fd6e2e5c8af13.png) \[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文件,这是新建的" 放到仓库,后面进行说明 ![](https://i-blog.csdnimg.cn/direct/eeaee38cf8484fc79bbbaa9247d31305.png) 需要自己创建账户邮箱... \[root@git yy000\]# git config --global user.name chz 创建账户 \[root@git yy000\]# git config --global user.email [email protected] 创建邮箱 修改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 \<[email protected]\> 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 \<[email protected]\> Date: Thu Jul 25 11:11:17 2024 +0800 将缓存中的内容交到仓库 commit af919f2cc55c8500502b205e3199c0d1830b7fdf Author: chz \<[email protected]\> 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,可以看到修改 ![](https://i-blog.csdnimg.cn/direct/f75ad7cc23b04e57981d9092401fa0ac.png) 创建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 \..." 更新要提交的内容) # (使用 "git checkout -- \..." 丢弃工作区的改动) # # 修改: Test.java # # 未跟踪的文件: # (使用 "git add \..." 以包含要提交的内容) # # 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 ![](https://i-blog.csdnimg.cn/direct/e15aa8dadd4a4ce8aa7f49816daf3f13.png) 小结: 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 [email protected] 克隆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 [email protected] \[root@localhost yy000\]# touch A.class \[root@localhost yy000\]# git add . \[root@localhost yy000\]# git commit -m "aaa" \[master 9d9b959\] aaa Committer: chz \ 您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确 与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息: git config --global user.name "Your Name" git config --global user.email [email protected] 设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份: 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://[email protected]': 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" ![](https://i-blog.csdnimg.cn/direct/765230e7aac44ee295fe2d66895de7e3.png)

相关推荐
JJ1M81 小时前
Git技巧:Git Hook,自动触发,含实战分享
git·python·自动化
服部4 小时前
如何查看指定作者在所有分支的提交记录
前端·git·github
大卫小东(Sheldon)5 小时前
使用DVC管理大文件变更历史(基于git)
git
晓龙的Coding之路6 小时前
如何通过git删除某个文件的历史提交记录
git·git删除指定文件log
手可摘星Chen9 小时前
commitlint安装和配置使用教程
前端·git
曾经的三心草12 小时前
Git-基本操作
大数据·git·elasticsearch
i_am_a_div_日积月累_13 小时前
git检查提交分支和package.json的version版本是否一致
git·json
反方向的空16 小时前
GIt基本操作
大数据·git·elasticsearch
极小狐1 天前
如何对极狐GitLab 议题进行过滤和排序?
人工智能·git·机器学习·gitlab
花月C1 天前
Git 全面解析:从核心概念到生态应用
git