git版本控制管理

简介:Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
工作流程图:
在这里插入图片描述
git的工作区:
工作区:就是你在电脑里能看到的目录(本地仓库、即项目目录)
暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录.git,是Git的版本库。

一、git config命令
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址,用户名和邮箱都会存到用户主目录下的“.gitconfig”文件中

git config --global user.name "Lntower"
git config --global user.email "email@example.com"

二、初始化版本仓库
进去到你的项目目录下,右键点击运行Git Bash Here,该窗口下运行git init,指定当前目录为git本地仓库
在这里插入图片描述
三、提交文件
将要提交到仓库的文件使用git add 命令可将该文件添加到缓存,执行 git commit 将缓存区内容添加到仓库中。

提交到缓存中:git add
提交到版本仓库,-m参数表示提交的信息:git commit -m "第一次提交"
查看状态:git status
五一休假回来上班,已经记不清上次怎么修改的readme.txt,需要用git diff这个命令看看:git diff readme.txt

四、版本回滚
查看提交历史:git log --pretty=oneline、git reflog
退回到上一个版本:git reset --head HEAD^
退回到某一个版本:git reset --head 版本id

五、撤销修改
让这个文件回到最近一次git commit或git add时的状态:git checkout -- readme.md
注意:git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令
把暂存区的修改撤销掉重新放回工作区:git reset HEAD readme.md
是删错了从版本库里误删的文件恢复到最新版本:git checkout -- test.txt

六、远程仓库
创建SSH Key,里面有id_rsa和id_rsa.pub两个文件,id_rsa是密钥,id_rsa.pub是公钥,在远程仓库中用公钥就行

SSH Key: ssh-keygen -t rsa -C "邮箱地址"
Linux:生成的.ssh文件,root用户在/root目录下,普通用户在/home
windows:生成的.ssh文件,在用户目录下
已有的本地仓库与远程仓库关联: git remote add origin 远程仓库的ssh链接
提交远程仓库(master是分支名):git push origin master

七、git clone克隆远程仓库
在某个文件夹下,执行git clone 远程仓库地址
在这里插入图片描述
主要这里只能克隆主分支的远程仓库,如果想克隆其它分支的仓库要执行另外一条命令,

git checkout -b dev origin/dev

git checkout -b dev 表示创建dev分支,origin/dev的dev表示是远程仓库中的分支名

八、分支管理(有个,并且颜色是绿色的是当前分支))*
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名 或者 git switch 分支名
创建+切换分支:git checkout -b 分支名
合并到某个分支到当前分支: git merge 分支名
查看分支合并图:git log --graph
删除分支:git branch -d 分支名

九、Git分支管理及命名规范
在这里插入图片描述

分支命名说明
主分支master主分支,提供给用户使用的正式版本,都在这个主分支上发布
开发分支dev开发分支,永远是功能最新最全的分支
功能分支feature-*新功能分支,某个功能点正在开发阶段
修复分支release-*发布定期要上线的功能
发布版本bug-*修复线上代码的 bug

将 Dev 分支发布到 Master 分支的命令:
切换到 Master 分支:git checkout master
对 Dev 分支进行合并:git merge –no–ff dev
–no–ff参数是什么意思。默认情况下,Git执行”快进式合并”(fast-farward merge),会直接将 Master 分支指向 Dev 分支。
使用–no–ff参数后,会执行正常合并,在 Master 分支上生成一个新节点。


版权声明:本文为cptower原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。