git学习

版本控制

软件更新,区别于老的版本与新的版本之间,版本回滚等操作,git,svn等主流版本控制器

分类

本地版本控制

适合个人使用,对每个版本做对比

集中式版本控制(SVN)

所有版本数据都保存在服务器上,开发者从服务器上同步更新或上传自己的修改,多对一,存在单点故障问题

分布式版本控制(GIT)

每个人都拥有全部代码,可以在本地查看所有历史版本,可以本地提交,联网以后再与服务器同步,也不会因为网络问题导致无法工作

安装

https://git-scm.com/

一路下一步

环境配置

安装好找个目录

image-20230315092314480

1
2
git config --global user.name "user"
git config --global user.email "123@qq.com"

工作原理

Workspace:工作区,存放项目代码的地方

Index/Stage:暂存区,临时存放改动的代码

Repository:本地仓库区,所有版本的数据

Remote:远程仓库,托管代码的服务器

1684380073926.png

git项目创建

本地仓库搭建

1
git init #在当前目录新建一个git代码库

克隆远程仓库

1
git clone [url]

git文件操作

文件状态

Untracker:未跟踪,文件没有加入git库

Unmodify:文件已经入库,文件夹版本与版本库文件一致,修改后文件会变为modified,git rm一处仓库,则为untracked状态

Modified:文件已修改,可通过git add变为staged状态

Staged:暂存状态,执行git commit则将修改同步到库中

1
2
3
4
git status #查看所有文件状态
git add . #添加所有文件到暂存区
git commit -m #提交暂存区的文件到本地仓库 -m提交信息
git push #上传本地仓库代码到远程仓库

忽略文件

有一些项目文件我们不想要同步到远程仓库

.gitignore文件

1684380089527.png

github注册

这个就很简单,常规注册,我们需要实现一个免密码登录

找到用户家目录下,windows或者linux一样

1684380102778.png

1
ssh-keygen -t rsa -C "123@qq.com"  #生成公钥,一路回车

1684380114742.png

记事本打开复制

1684380124916.png

1684380136545.png

点击new sshkey

1684380147783.png

git分支

主分支:master主分支,一般不允许在此开发代码,用于发布稳定版本的程序

1684380157162.png

当开发者比较多的时候,创建自己的分支用于测试代码,等到最终完成后同意合并到主分支,不然多人开发随意合并容易造成问题