day77 git分支学习

day77 git分支学习

在前面我们已经学习了git的基本的使用的方法,这一节我们来学习git的重要的概念【分支】

# 背景

例如开发一个淘宝平台,刚写到登陆的功能,代码还没写完,今天就睡觉了,所以代码commint提交到本地的仓库了

加入另一个程序员不知道还对这个代码继续的开发,这个不就乱套了吗

#因该是这样的
1. 分别给yzk 添加一个分支 yzk. 张三一个分支 zhangsan

2. 这两个人基于自己的分支环境去写代码,进行版本的提交,互不影响。

3. 最后将这2个人的代码进行合并即可。


分支命令实践

如下的操作,用本地仓库作为练习,创建分支,合并分支到master

切换分支

在一个机器上的操作
同理,这个仓库,因该是有远程仓库提供,如码云平台中的代码的仓库。

提供master分支

如 A1 写的代码推送到远程仓库
	B2 写的代码推送到远程仓库
最终他们的代码合并到master上

运维就直接下载master的代码,到linux服务机器上,为最终上线代码源

默认的仓库的版本中有一个分支,master

git brabch 
直接看到当前版本的仓库,有几个分支
以及由星星的那个分支,就是你当前用的分支。

[root@master-61 mldong]# git branch 
* master

创建分支

1. 命令先创建好分支,在切换过去

[root@master-61 mldong]# git branch yzk
[root@master-61 mldong]# 
[root@master-61 mldong]# 
[root@master-61 mldong]# git branch yzk
fatal: A branch named 'yzk' already exists.
[root@master-61 mldong]# git branch 
* master
  yzk
[root@master-61 mldong]# git branch yzk01
[root@master-61 mldong]# git branch 
* master
  yzk
  yzk01

切换分支

git checkout  yzk

[root@master-61 mldong]# git checkout yzk
Switched to branch 'yzk'
[root@master-61 mldong]# git branch 
  master
* yzk
  yzk01

直接创建,并且立即切换分支

git checkout -b big 

[root@master-61 mldong]# git checkout -b big 
Switched to a new branch 'big'
[root@master-61 mldong]# git branch 
* big
  master
  yzk
  yzk01

用分支写代码

这就是公司中多个程序员如何协作的开发同一个服务的流程。

在实际的工作中,每个人都用自己电脑推送代码

都只会读取你自己的git config 的配置。

# 这是基于yzk分支,创建自己的代码,提交的版本,这个分支下版本的记录就属于(yzk)
# 写代码,追踪,提交记录。

切换到另一个分支

你会发现,你找不到yzk分支的提交的记录

切换master的分支

敲黑板,重点

master 和其他的分支一样,就是一个普通的分支,没什么特别的。
但它是系统默认的分支

想看到yzk01分支的代码就必须要合并版本的记录

合并分支到master上来

master 作为约定俗称的默认的分支,代码都合并到master即可。

合并yzk分支的代码到master主干线上来。

1. 首先到master主干线的分支   git checkout master
	
2. 在合并yzk的分支记录		git merage yzk

分支的冲突

其实就是两个分支上传了同一个文件,该怎么办。

这个我就简单来说一下

手动的打开相同的文件,进行修改即可,就那麽简单

删除无用的分支

# 开发完毕后,无用的分支都删掉

git branch -d id

[root@master-61 mldong]# git branch 
  big
* master
  yzk
  yzk01

[root@master-61 mldong]# git branch -d yzk01
Deleted branch yzk01 (was 95b33df).
[root@master-61 mldong]# git branch -d yzk
Deleted branch yzk (was 9b22c73).
[root@master-61 mldong]# git branch -d big
Deleted branch big (was 95b33df).
[root@master-61 mldong]# 

查看远程仓库,码云的分支玩法

只要你对git的分支命令操作明白以后,就很小儿科了。

1.创建远程仓库 ( git init )

码云Gitee

  1. 创建远程仓库,就像在本地 git init 一样

访问这个仓库的由两种方式
1. https
2. ssh 

很明显在client机器上,生成

# git remote add 添加一个远程仓库的别名 叫做 origin 
# 具体的地址是  https://gitee.com/yzkit/yzk_git.git
git remote add origin https://gitee.com/yzkit/yzk_git.git


# 把本地仓库的数据推送到origin 远程仓库中,推送到master分支。
git push -u origin "master"
检查当前本地仓库的配置

git remote --help                 


[root@master-61 mldong]# git remote -v
origin	https://gitee.com/mldong/mldong.git (fetch)
origin	https://gitee.com/mldong/mldong.git (push)


删除该记录
[root@master-61 mldong]# git remote remove origin 

关联自己仓库,目前采用的是https协议,需要账户密码验证

git remote add origin https://gitee.com/yzkit/yzk_git.git

# git push 把本地仓库的数据,推送到origin的远程的仓库,推送到master中。

[root@master-61 mldong]# git push -u origin "master"
Username for 'https://gitee.com': 18985844336
Password for 'https://18985844336@gitee.com': 

基于第二种的玩法sshkey验证

              ```

修改git的协议

1.查看原协议
[root@master-61 mldong]# git remote -v
origin https://gitee.com/yzkit/yzk_git.git (fetch)
origin https://gitee.com/yzkit/yzk_git.git (push)
[root@master-61 mldong]#

2.修改为 git的协议
[root@master-61 mldong]# git remote remove origin
[root@master-61 mldong]# git remote -v
[root@master-61 mldong]#

[root@master-61 mldong]# git remote add origin git@gitee.com:yzkit/yzk_git.git

[root@master-61 mldong]# git remote -v
origin git@gitee.com:yzkit/yzk_git.git (fetch)
origin git@gitee.com:yzkit/yzk_git.git (push)

最后就是去码云中推送,当前机器的公钥。

到这里就修改好了

[root@master-61 mldong]# git push -u origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 1743059b
To git@gitee.com:yzkit/yzk_git.git
9b22c73..dd0ef25 master -> master
Branch master set up to track remote branch master from origin.

              ```

完结撒花

posted @ 2025-05-08 19:41  国家一级冲浪yzk  阅读(14)  评论(0)    收藏  举报