Git 魔法指南:轻松驾驭版本控制的海洋(新手必学!)
除了恐惧本身,他们没有什么可恐惧的。
《杀死一只知更鸟》

大家好呀~ 许久不见~
今天给大家分享的是 Git的魔法指南
,无论是在公司的程序开发中,还是用于开源项目,都是一个经常需要用到的工具。在工作中也经常使用到GitHub,也可以使用gitlab或SVN等,他们可以帮助我们在项目中管理项目的版本迭代以及每一次修改的内容。
本文主要内容:
Git介绍及使用
Git应用场景介绍
知识点补充

一、Git介绍及使用

首先,Git是一个分布式,能够实现本地版本控制的软件。另外一个集中化版本控制的软件叫SVN。那么什么是版本控制呢?简单来说就是可以跟踪和管理软件代码变更,以便于查看和备份,也便于版本迭代。举例最简单的是便是我们生活中各种软件都需要更新,如果有某个版本挂掉了怎么办呢,那么就可以通过版本控制来快速回滚到之前的版本。
** 早期准备便是下载Git: Git下载使用 1.1 第一阶段 首先,如果想要让Git对一个项目文件进行版本控制需要如下步骤: ->进入要管理的文件夹,右键打开Open Git
Bash here**(win11可以点击查看更多选项) ->执行初始化命令 (如下):
git init
->管理目录下的 文件状态 :
git status #新增的文件和修改后的文件都是红色
->管理指定文件(红变绿)
git add 文件名git add .
->在使用Git管理文件时,我们个人信息配置(如下):
git config --global user.email "邮箱"git config --global user.name "用户名"
->生成版本(如下)
git commit -m '描述信息'
->查看版本记录:
git log
1.2 Git三大区域
Git在使用时主要分为三大区域,分别是 工作区、 暂存区、 版本库,详情如下:
工作区(Working Directory) :在电脑中看到的文件和目录,简单来说就是平时存放项目代码的地方(如下,
HEAD指向最新提交的版本 )。 已管->新文件/修改文件(红色){白<-红git checkout} <-git reset HEAD **暂存区(Staging Area)** :它会保存你临时的改动,并保存在 .git
目录下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 add . ->暂存区((Staging
Area)绿色): <-git reset soft版本号
版本库(Repository) :存放数据的地方,这里面有你提交到所有版本的数据。
commit->版本库(Repository)
1.3回滚(举例如下:) 1. v2->v1 :
git reset --hard 版本号(git log)
2. v1->v2:
查看之前的log :git refloggit reset --hard 版本号(git log)
1.4分支的相关操作
查看当前分支:git branch 创建 dev 分支:git branch dev 切换分支:git checkout 分支 到
dev 分支上开发:git checkout dev 分支合并:git merge (切换分支再合并) 删除分支:git branch-d
分支 我们在开发中,若dev分支出现bug,回到master分支命令: git checkout master
,里面的代码便是master里面的代码,且不包含dev分支。 若继续查看dev分支里面的代码命令: git checkout dev
出现bug后,若创建一个bug分支: git branch bug 把bug分支合并到master分支, 先切换回master分支,再合并: git merge bug 若想删除bug分支: git branch -d bug** To: dev开发完成后合并master分支时,需要先回master分支,再合并dev。否则会发生冲突,需要自己手动去改,再add、commit,比较麻烦。Git操作最好按照步骤来,如果不熟悉Git的解决起来会很麻烦。 1.5工作流(举例说明) **
->master[C1]<-[C2]->dev(开发)[C2]<-[C3]
在dev分支上开发: 在开发dev时,如果master分支有更新,需要先把master上的代码合并到dev分支上。在dev分支上执行 git
merge master (仅一次) 再把dev分支上的代码推送到远程dev分支上: git push origin dev
然后回家继续开发更新: git pull origin dev ,开发完继续add,commit,push To:
当我们的dev开发完后,就需要回到master分支,再把dev分支合并,然后推送master分支上线: git push origin master
,再回到dev,把master分支合并到dev分支,再把dev也推送上去: git push origin dev git pull origin
dev等同于:
git fetch origin devgit merge origin/dev

二、Git应用场景介绍

1.rebase(变基)应用场景 : 可以让提交记录变得简洁 当我们有多个记录时,如何使其在提交记录时变成一个记录呢?
比如在git log 里面会有很多 提交日志,如何整合成一个?
git rebase -i HEAD~3
To:以上表示最近的三条记录合并。 注意:合并记录时,建议不要合并那些已经push到仓库的。 2. 分支整合
master:c1<-c2-<c4-<c5 dev:c2<-c3-<c5 如上,我们想把dev分支的记录整合到master一条线,就需要
把dev分支提交一次,写一个master分支提交到v4。 首先切回到dev分支,再使用命令: git rebase master ,再
切回到master分支: git master checkout ,最后合并 git merge dev 4. 注意事项
rebase相当于合并, 在执行 git rebase 的时候,可能会产生冲突:解决方式Git会告诉你执行 git add … 然后再执行
git rebase – continue 也可以使用byeond compare软件( 快 速解决冲突的软件),使用方法:
第一步便是安装,然后 在gi t中配置:
git config --local merge.tool bc3git config --local mergetool.path '/user/local/bin/bcomp'git config --local mergetool.keepBackup false
解决冲突 git mergetool 添加远程连接 git remote add origin 地址 推送代码 git push
origin dev 拉取代码 git pull origin dev 记录图形展示 git log --graph –pretty=
format : “%h %s” 补充: 当我们有多个人开发同一个项目时,从 dev拆出的分支需要我们 每天在自己的分支上提交,开发
完后,再申请合并到dev,其中需要自己做代码检查。
大公司有的并不会直接提交到master,而是在master和dev之间设置一个release,然后提交到release,进行测试。当我们需要的
功能做完后可删除该分支。
三、知识点补充

1. 配置文件 ( 在 Git 中通常有三个配置文件需要我们注意,如下:) (1)全局配置文件:~/。gitconfig
git config --global user.name 'bob'git config --global user.email 'bob@xx.com'
(2)项目配置文件:项目/.git/config
git config --local user.name 'bob'git config --local user.email 'bob@xx.com'
(3)系统配置文 件: /etc/.gitconfig(To: 要root权限 )
git config --system user.name 'bob'git config --system user.email 'bob@xx.com'
2.免密登录
在使用Git中,我们会经常需要输入密码,有时候会显得比较麻烦,在Git中免密码登录有两种方式,一种是在URL中体现,还有一种是在SSH中体现。如下:
在URL中体现举例: 原来的地址:https://gitee.com/bob09/docs.git
修改的地址:https://用户名:密码gitee.com/bob09/docs.git
git remote add origin https://用户名:密码gitee.com/bob09/docs.gitgit push origin master
SSH实现: 1. 生成公钥和私钥(默认存在~/ .ssh目录下,id_rsa.pub公钥、id_rsa私钥)
ssh-keygen
2 . 拷 贝公钥的内容,并设置到GitHub中
3.在git本地中配置ssh地址:
git remote add origin git@gitee.com:bob09/docs.git
4. 以后使用下面命令即可:
git push origin master
emmm,关于Git的介绍就先到这啦~


为你,千千万万遍

预览时标签不可点
阅读
__











