git原理及基本操作

Posted wangxiaosai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git原理及基本操作相关的知识,希望对你有一定的参考价值。

1.git基本概念

1.1 常见版本管理工具

git

  1.git是分布式的,每一个安装git环境的机器都有线下的版本仓库
  2.开发者无需把代码提交到线上仓库(GitHub、gitee、gitlab)

SVN

  1.SVN是一个集中的版本管理工具
  2.开发者必须把代码提交到SVN服务器,本地没有版本仓库

1.2 线上仓库

多人协作开发时,会管理代码
github / gitee
svn

1.3 git原理

工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们

技术图片

2.gitee中使用

# Git 全局设置:
git config --global user.name "王赛赛呀"
git config --global user.email "7618719+wangsaisaiya@user.noreply.gitee.com"

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

# 已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/wangsaisaiya/adsafghj.git
git push -u origin master

3.git常见命令

3.1.简单提交

git add xxx.txt # 将文件提交到暂存区 
git commit -m ‘xxx‘ # 将代码提交到本地版本仓库 
git status # 看到未提交到仓库的修改文件(工作区、暂存区) 
git log

3.2.回滚

git log #查看所有提交到仓库的版本记录: git log -2
git reflog #查看所有操作记录(状态的md5值和改变的值)
git reset --hard d9e0ed0 #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7
位)
git reset --hard HEAD^ #回到上一个版本

3.3.撤销修改

vim Readme #我们在Readme文件中写了一些错误的代码
git add . #然后又一不小心将文件从工作区提交到了 stage区
git reset HEAD Readme #将Readme中刚提交到 stage区 的代码撤回到工作区
git status #查看目前工作区状态
git checkout -- Readme #将Readme在工作区错误的代码丢弃

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

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

4.git分支管理

4.1 分支管理概念

master 主分支,稳定代码,为生产环境做准备的
develop 开发分支,为开发服务

技术图片

4.2 分支使用

‘‘‘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 Readme # 可以看到master分支的内容没有修改
git merge --no-ff dev # 将刚刚dev中修改的代码合并到master
git push origin master # 将本地仓库的代码推送到线上仓库(线上git仓库)

以上是关于git原理及基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Git简单操作及原理

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

Git

Git学习——Git基本工作原理(入门级教程,通过玩转Git本地仓库,帮助新手快速入手Git)

SCM之Git的工作原理及常规操作