- 什么是git
Git:一种开源的分布式版本控制系统,是安装在本地的软件,可以有效、高速地处理从很小到非常大的项目版本管理。
由于git是一种分布式版本控制系统,所以同一个项目仓库可以分布在不同的机器上,它可以管理四种区域:
- 工作目录:当前正在进行编程的文件夹目录
- 本地仓库:由git创建的,存放各种项目的的各种版本的本地文件系统
- 暂存区:用来隔离工作目录和git仓库的区域
- 远程仓库:由基于git的代码托管平台建立的,可以与本地仓库进行交互的远程仓库
如果一台机器已经安装了git,那么节可以通过运行git程序来管理以上四种区域
- 什么是github
Github是一个基于git程序的开源代码托管平台,是管理远程项目仓库的网站,有着强大的服务器,足够容纳全球使用git的用户的远程仓库,同时有足够强大的功能满足用户的需求
- Git的简单使用(实验提交)
1、下图清晰的反映了git管理不同区域的方式以及每个区域的功能
对于工作区workspace:
通过git add/mv/rm指令将项目目录中的的文件添加到暂存区
通过git commit -a指令将项目目录中的的文件直接添加到本地仓库
对于暂存区staging:
通过git commit指令将add来的文件添加到本地仓库
通过git reset指令将add来的部分文件退还给workspace
对于本地仓库local repository:
通过git reset指令将文件退还给workspace
通过git push指令将项目发送给远程仓库
对于远程仓库remote repository:
通过git fetch指令将项目添加到本地仓库
通过git clone/pull将项目添加到当前git运行的工作区文件夹
- git功能特性
(1)可以从远程仓库上克隆完整的Git仓库(包括代码和版本信息)到主机上。
(2)可以在自己的机器上根据不同的开发目的,创建分支,合并分支,修改代码并在单机上自己创建的分支上提交代码。
(3)把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
(4)看主开发者的反馈:如果主开发者发现两个一般开发者之间有冲突就会要求他们先解决冲突,然后再由其中一个人提交。这样可以解决分布式版本控制系统的冲突问题。
- 开发一般流程
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
将当前文件夹初始化为一个工作区并开始在这个文件夹工作:
git init
当程序初步完成后将工作区的内容增加到暂存区中:
git add
当整理好暂存区的内容后将暂存区内容提交到本地库:
git commit
当需要开发新的功能但不想现有版本收到影响那么创建分支并专业到新的分支: git checkout -b分支名
当这个功能有写多余或者冗杂那么删除分支:
git branch -d 分支名
当这个分支的功能已经完善并趋于稳定时合并两个分支:
git merge
当当前版本已经完善并且稳定时可以提交到远程仓库作为一个版本:
git push
- 实验提交流程
从github上clone文件夹的地址:C:\Users\PC\Documents\GitHub
在此文件夹
git clone 仓库对应URL
在此文件夹中会创建一个项目文件夹
进入该文件夹进行程序编写
每次完成编程后在当前文件夹右键Git Bash here
并执行指令git add .
当本次变成结束后当前版本完成在git add .后
git commit -m "提交备注"
(如果出现ssl问题则执行git config --global http.sslVerify "false"并重新commit)
git push -u origin main
- 可视化窗口
Github为了满足用户需求提供了Github Desktop软件进行窗口化的git管理
同时git也提供窗口化的Git GUI