Git

发布时间:2022-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Git脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • 原理
    • 安装配置
    • GIT 管理的目录结构
    • 文件状态
  • 分支
    • HEAD
  • 冲突
    • 冲突如何产生
    • 如何解决冲突
  • 常用命令
    • 日志
  • Workflow

原理

安装配置

安装

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,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

脚本宝典总结

以上是脚本宝典为你收集整理的Git全部内容,希望文章能够帮你解决Git所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。