ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git

2022-06-01 01:32:24  阅读:148  来源: 互联网

标签:HEAD git develop merge Git master 分支


目录

原理

安装配置

安装

brew install git

配置文件

~/.gitconfig进行 git 相关的配置

[user]
    email = xxx
    name = xxx

ssh 配置

~/.ssh/config


Git 管理的目录结构

目录结构

.git
.gitignore
其他文件或目录

.git用来保存分支,提交的信息,日志等

.gitignore用来配置当前文件夹下哪些文件不需要管理的

文件状态

Untracked

Modified

Staged

committed

工作区

暂存区

git commit 将暂存区的内容提交到本地仓库

本地仓库

远程仓库

gitlab

分支

目的:

并行开发

远程分支的连线和本地分支的连线是一样的

创建分支

# 创建并切换到develop
git checkout -b develop
# 创建develop,不切换
git branchdevelop

查看分支

git branch -a
git branch -r

游离状态的HEAD,HEAD不在某个分支,而是在某个节点,例如通过git checkout hash值,将HEAD切换到了一个节点上。

在游离状态的HEAD上做提交很危险,可能会找不回来。可以建一个临时的分支

merge

在要作为主分支的分支上进行操作

git checkout master
# 将develop合并到master
git merge develop

merge会新增一个节点,表示merge的过程,并且这个节点会用虚线连接develop,表示包含develop上的东西

rebase

与merge相反,将当前分支的节点间移动到另一个分支的最后,然后再移动主分支,这样更加线性

git checkout develop
# 将develop的节点已经移动到了master
git rebase master
# 将master分支的指针移动到最后
git checkout master
# 因为develop就在master前,所以merge时只是移动HEAD
git merge develop

冲突

冲突如何产生

类似多线程对共享变量的操作

如何解决冲突

修改冲突代码

git add 冲突的文件

git commit

常用命令

git reset

git reset HEAD

git revert

git rm

git diff --cache

git remote -v

git commit --amend

git rebase -i

日志

git relog

Workflow

分支模型

方法 描述
master 最稳定的分支,只从其他分支合入,不直接做修改
develop 最新的分支,开发的主干,主要用来合并其他的分支(feature,fix)
feature/xxx 功能分支,从develop创建,合并到develop
release 用来发版的分支,只允许进行一些BUG修复,新功能不要直接合入。合并到master,打上tag
hotfix 生产环境发生BUG紧急修复的分支,从master(tag)/release中产生,合并到master(tag)/release

clone仓库到本地

push

push之前先git pull --rebase更新一下本地代码,没有冲突再push

或者git fetch,更新本地的origin/feat,然后合并到本地的feat再提交push

标签:HEAD,git,develop,merge,Git,master,分支
来源: https://www.cnblogs.com/sudopk/p/16332934.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有