Git的常见知识

一、什么是Git?

git是世界上最流行的分布式版本控制系统

二、什么是分布式?什么是集中式?

1)集中式
在这里插入图片描述

   集中式的问题:
   a)就是必须有一个中央版本控制器的存在,一旦脱离的版本控制器,则SVN就无法对代码进行版本控制了

   b)如果通过网络进行版本控制,则进行代码提交和更新的速度就会受限制

2)分布式
在这里插入图片描述

   分布式的优势:
   a)无需网络也能够进行版本控制,因为每个人的电脑本身就是一个完整的版本控制库
   b)版本控制的效率会更高

   注意:在实际开发过程中,用分布式版本控制器时,通常也会搭建一台中央版本控制器,这个控制器的作用在于方便团队之间的人员交换代码,如果没有他,每个人还是可以正常开发。

三、git开发的结构图

在这里插入图片描述

四、Git常用的命令

1)新建git管理库
   git init : 初始化当前路径为Git管理库
   git init xxxxxx:初始化指定路径为Git管理库

2)Git的签名
   用户签名:对当前管理库有效
   git config user.name “xxxx”
   git config user.email “xxxxx”
   系统签名:对当前系统所有管理库有效(通常做一个系统签名就好了)
   git config --global user.name “xxxx”
   git config --global user.email “xxxxx”

3)查看管理库的当前状态
   git status

4)暂存区相关的操作命令
   git add file1 file2 … : 将工作区的文件提交到暂存区中
   git add . : 将工作区的所有文件都提交到暂存区
   git reset file : 撤销暂存区中的文件
   git commit -m “备注” [file] : 提交指定文件到本地库中,如果不指定文件名,则将所有暂存区的操作提交到本地库

5)查看历史版本
   git log --oneline:查看历史版本,只能查看当前版本之前的版本
   git reflog:查看历史版本,可以查看所有版本
   git reset --hard 版本号:回到版本号对应的版本

6)比较文件差异
   git diff [file]:比较当前工作区和本地库的文件差异
   git diff : 比较当前工作区的所有文件和本地库的文件差异
   git diff [历史版本索引] [file] :比较工作区的文件和指定历史版本的文件的差异

7)分支的操作
   什么是分支?
   分支可以理解成为主线的克隆,对分支的所有操作,都不会影响到主线。

   分支的运用场景:
   a)如果要开发一个周期很长的功能,在功能完成之前,不能提交代码到主线上,因为有可能未完成的功能会对主线
造成影响。但是如果不提交版本控制,自己的代码安全性又得不到保证,这个时候完全可以开一个分支做自己的版本控制,
功能完成之后,再合并到主线上。
   b)当需要修改一个bug时,如果这个修改的周期很长,也可以开一个分支
   c)当项目面临两种不同的实现方案时,可以开启两个分支,分别推进两种方案,最后选择一个合适的方式合并到主
线即可,另一个方案的分支直接删除。

   分支的命令:
   git branch -v : 查看说分支,以及每个分支所在的版本
   git branch [分支名称] : 在当前分支的基础上,创建一个分支
   git merge [需要合并的分支] : 该命令必须先定位到被合并上,然后将需要合并的分支合并过来,执行该命令时有很
大的可能性会出现版本冲突,解决冲突的方式和svn是一样的
   git branch --merged : 查看合并过的分支
   git branch --no-merged : 查看未合并过的分支
   git branch -d [分支名] :删除分支(如果要强制删除用 -D)
   注意:
   · 当前分支没有提交到本地库的操作,会随着切换分支保留过去(是一种代码保护机制),所以每次切换分支之前,
先保证当前分支的代码已经提交的本地库
   · 任何分支都可以再开新的分支,不一定要从master分支上开启
   · 任何分支也可以合并到任何分支之上,不一定要合并到master分支上

五、GitHub

什么是GitHub?
   是一个全球性的代码托管平台,很多很NB的开源项目都用GitHub进行代码托管。号称全球最大同性交友平台
(GayHub)。

   网址:http://github.com

   git远程操作的相关命令:
   git remote -v:查看本地的远程资源管理
   git remote add [别名] [远程库url] : 给远程库url设置一个别名,方便操作(这个地方的url应该是远程库的操作地址,不是
访问地址)
   git push [别名] [分支名] : 推送一个分支的本地库到远程库上
   git push [别名] --all : 推送所有分支的本地库到远程库上
   git clone [远程库url] : 将远程库clone到本地(创建一个本地管理库,生成一个远程库地址的别名管理,默认是origin)
   git pull [别名] [分支名] : 从远程库拉取更新到本地库

六、用Idea和Git&GitHub联合开发

1)idea的前置环境
   配置settings -> Version Control -> Git,选择安装的Git地址下的git.exe
在这里插入图片描述

   配置github
在这里插入图片描述

   配置文件过滤(在代码运行过程中,自动生成的文件、项目结构相关的文件都需要过滤)
在这里插入图片描述

2)提交代码的远程托管中心(github)

猜你喜欢

转载自blog.csdn.net/qq_41936224/article/details/109801060