Git使用

1 git 基本概念

1.1 常见的版本管理工具有两个

1.1.1git

git 是分布式的,每一个安装git环境的机器都有线下的版本仓库

开发者无需把代码提交到线上(github gitee gielab公司搭建)

有线下版本仓库

1.1.2 svn

svn是一个集中的版本管理工具

开发者必须把代码提交到SVN服务器,SVN服务器才能进行版本管理,本地没有版本仓库

1.2 线上仓库

  • 多人协作开发时,会管理代码

1.3 git原理

  • 工作区

在电脑上看到的目录(目录下testgit里的文件,.git隐藏目录版本库除外)

  • 暂存区(舞台区)

暂存区就是文件夹.git中的一个小部分(.git文件就是版本仓库)

  • 版本库

工作区有一个隐藏目录.git,这个不属于工作区,这是版本库

  • 演示

image-20201210141611213

  • 演示说明
    • (touch README03.md)在git仓库中创建的任意文件都在工作区
    • (git add README03.md)执行add,将工作区代码提交到暂存区
    • (git commit -m 'add README003.MD')把暂存区文件提交到版本仓库 .git
    • .git隐藏文件,就是版本仓库

2 gitee中使用

'''简易的命令行入门教程:'''

# Git 全局设置:
git config --global user.name "foxes_love_sugar"
git config --global user.email "742327252@qq.com"

# 创建 git 仓库:
mkdir where-is-my-sugar
cd where-is-my-sugar
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/foxes_love_sugar/where-is-my-sugar.git
git push -u origin master

# 已有仓库
cd existing_git_repo
git remote add origin https://gitee.com/foxes_love_sugar/where-is-my-sugar.git
git push -u origin master

3 git 常见命令

3.1 简单提交

git add xxx.txt			# 将文件提交到暂存区
git commit -m 'xxx'		# 将代码提交到本地版本仓库
git status 				# 看到未提交到仓库的修改文件(工农工作区,暂存区)
git log					# 查看所有提交到仓库的版本记录  git log-2

3.2 回滚

git reset --hard 版本号  # 回到某个版本(版本号是前6位或者前7位)
git reflog				# 展示所有节点版本记录
git reset --hard HEAD^	# 回滚到上一个版本

3.3 撤销

git reset HEAD R4.md 	# 将R4.md撤销到工作区
git checkout R4.md 		# 将R4在工作区错误的代码丢弃

3.4 强制使用master覆盖本地代码

git fetch --all
git reset --hard origin/master
git pull

4 git分支管理

4.1 分支管理的概念

4.1.1 master

master主分支,稳定代码,为生产环境做准备的

4.1.2 develop

develop开发分支,为开发服务

image-20201210145618196

'''1.从master分支切换到dev分支进行开发'''
git checkout -b dev master 				# 从master分支创建dev开发分支
git branch 								# 可以看到现在已经切换到dev分支了
vim Readme 								# 模拟在项目中修改代码
git add . 								# 把工作区中所有变更全部提交到(暂存区)
git commit -m 'in dev' 					# 把暂存区代码提交到本地git仓库(本地git仓库)
git push origin dev 					# 把代码先推到dev分支,让测试人员测试

'''2.当测试人员测试完成后将dev分支代码合并到master形成文档版本'''
git checkout master			 			# 开发完成后,需要合并回master分支,先切换到master分支
cat R4.md 								# 可以看到master分支的内容没有修改
git merge --no-ff dev 					# 将刚刚dev中修改的代码合并到master
git push origin master 					#将本地仓库的代码推送到线上仓库(线上git仓库)
原文地址:https://www.cnblogs.com/mapel1594184/p/14121006.html