关于git的一些相关知识点
进入主题前需要了解的相关工具:
一,下载git
搜索git,找到官网:https://git-scm.com/download/win
1.具体步骤:
Downloads:表示下载,选择你自己的操作系统,windows或者macOS,然后根据自己电脑是多少位,在电脑属性可以看到,32位或者64位,选择相应的下载。
2.安装,除了可以自定义安装,其他的跟着安装步骤走就行了。
二,官网地址:https://gitee.com/
需要一个gitee的账号,到gitee的官网注册一个账号。
意义:用于存放你的代码,或者共享你的代码,方便多人维护或开发项目
步骤:创建账号,并创建项目仓库
仓库:仓库在头像旁,有个+号,点击新建仓库就ok,进去之后,首先输入你的仓库名称,然后是路径,仓库介绍,输入你这个项目的介绍就行,然后选择公开或私有,自行选择。
接下来是选择语言,自行选择你所使用的语言, 【.gitignore模板默认就好,不用选】
【使用Readme文件初始化仓库,这三个选项不用打钩】
选择分支模型:
根据个人需求,如果只是代码存放,日常用于练习代码,可以选择单分支master;
如果如果项目成员不止一人,需要共同维护,或者共同开发,则可以创建多分支,(分支概念后面会提及)
进入主题:
一,git的简介
【git是什么?】
git是一个开源的分布式版本控制系统,可以有效,高速的实现小到大的项目源代码管理
源代码管理的好处:
1.方便多人开发,维护
2.代码安全
3.方便版本控制(版本控制后面有提及)
【git的工作原理】
git操作分为本地操作和远端服务器操作。
git有几个区分别为:workspace工作区,index暂存区,repository本地版本库,remote远程仓库。
他们之间的联系:
workspace:工作区,就是指自己写代码的地方
index:暂存区,是指workspace,通过add提交,暂时存放的区域,因为在你没有完全确认你的代码有效之前,放在暂存区,之后可以一并提交所有代码,这样既保存了代码的进度,不会丢失,也方便你处理其他问题。
repository:本地版本库,这个库的作用是保存你当前提交的代码,从暂存区已经修改好的代码,通过commit备注修改信息,备注你本次提交的是什么,如果未来你想要回退到曾经的某一次提交,某一个版本的代码,可以用回退命令达到这个目的。
remote:远程仓库,就是指在gitee(也叫码云)上文章开头所介绍的仓库,虽然你的代码提交到本地版本库,但是还没使用push命令来推送到远程仓库,所以需要推送,远程仓库才会接受你的代码。如果其他人也推送了代码, 你需要使用别人的代码, 则需要使用pull命令,下载到本地,这就是远程仓库的实际作用。
下面了解git命令行:
一,常用
1.git配置:
git --version 查看版本
git config -l 查看配置信息
2.修改name,email:
git config -global user.name'xxx' xxx代表你自己输入的名字
git config -global user.email'xxx@xxxxx.com' 输入你自己的邮箱
3.克隆本地版本库(就是把gitee上的仓库克隆到本地)
首先用在你需要克隆的文件夹,右键打开git bash,然后输入如下命令:
git clone 地址 文件名
注释【地址是进入仓库,点击克隆/下载,暂时还没有免密处理,就先用https地址,ssh地址是免密地址,需要你添加公钥,免密处理之后才能选的地址,后面会提及】
4.创建本地版本库:
git init 初始化新项目的时候,必须是在版本库的目录下执行,然后会生成一个.git文件【.git文件是隐藏文件,用于存放git操作所需要的东西,hooks:存放一些shell脚本,info:存放仓库的一些信息;等等】
******而最开始讲仓库的时候,那里的.gitignore是用来配置git文件,忽略不需要提交的文件或者文件夹,具体配置文件内容到一个网站去查找:http://gitignore.io/。
这个网站是用于配置.gitignore的,在搜索栏输入你所使用的操作系统,如(windows,macOS,linux)或者ides,或者编程语言,输入这些之后,这个网站会自动配置你所需要的文件内容。
cd ~
mkdir 文件
cd 文件
git init 初始化一个新的项目
git remote add origin 仓库地址
5.版本管理:
在工作区写好代码后,需要提交到远程仓库
将文件添加到暂存区
git add --all
git add . 【效果一样,都是将工作区的代码提交到暂存区】
git add 文件名 文件名 【这个是提交部分文件,可以多个提交】
git reset HEAD 【撤销对暂存区的修改】
git status 【查看版本库状态,就能显示那些代码已经在暂存区了,做了哪些修改】
git diff 【查看修改】
git commit -am '备注信息' 【将暂存区的代码提交到版本库】
-a和-m 区别:
首先是文件的几个状态,已跟踪(未跟踪),已修改,已提交(未提交),已暂存(未暂存),已推送(未推送)
如果是新文件,则是未跟踪,则需要add提交到暂存区,就跟踪了,跟踪之后文件会变绿色,未跟踪的文件是无法commit提交的
如果,代码很久没有更新了,突然你去修改了,这个文件虽然是已跟踪,但是是老版本的文件,还没有更新,所以你需要把修改过的文件重新add添加到暂存区,才能commit提交到版本库
总而言之:-a就是提交到暂存区,再由-m备注信息来提交到版本库,根据你文件的状态来使用。
只能-am,不能-m -a,如果已经提交到暂存区的文件,就不需要-a。使用命令:
git commit -m '备注' 【备注是你当前提交了什么代码,需要做一个说明,方便你日后维护,查看】
6.将本地代码推送到远程仓库
git push <远程主机名><本地分支名>:<远程分支名> 【如果远程分支不存在,则创建】
git push origin master 【默认推送到远程主分支上】
git push:分支名 【删除远程分支】
git push --all origin 【将本地分支推送到服务器】
git push --force origin 【看下面注释】
【当推送的时候,其他人也在推送,那么你们的版本不一致,存在差异。方法一:先git pull 合并差异,在git push推送。方法二:使用–force命令强制推送】
7.从远程仓库拉取数据
git pull <远程主机名><远程分支名>:<本地分支名> 【将仓库的东西搬到本地】
二,其他操作:
1.删除或者恢复文件
git rm 【从版本库删除文件】
git checkout -- 【放弃单个文件修改】
git checkout . 【放弃所有文件修改】
2.查看提交记录
git log 【默认没有参数的情况下,查看所有更新】
git log --pretty=oneline- 【版本回退】
git reset --hard 版本号 【回退到哪个版本】
git reflog 【查看版本号】
三,注意事项:
关于冲突:
*多人使用同一文件
*一个人一直写代码但是不提交
*修改代码前,不更新代码
*提交之前不更新代码,就会提交不了
*擅自修改别人的代码
避免冲突:
*良好代码习惯,先pull在修改,然后commit,push
*确保自己的是最新版本,在修改
*如果要修改公共代码,需要确认是否有人在使用
*下班前提交代码,上班前pull代码
*不要擅自修改他人代码
四,关于分支:
分支的意义:
在团队当中,多人共同开发一个项目,每人负责独立的一块,当自己的代码量,写到一定程度,需要提交,但不能提交到主分支上,(不完整的代码库会影响到别人),但不提交会有代码丢失的风险,这时候需要分支,创建一个自己的分支,每次代码的提交都存到自己的分支上,既保存了代码,减少风险,也不影响他人干活,当代码写完再一并提交到主分支上。
常见分支:
master:主分支 【记录发布版本】
online : 线上分支 正在运行的版本
develop :开发分支,用于测试的
local : 本地分支
分支管理常用命令:
git branch 【查看分支】
git branch 新分支名 旧分支名 【在旧分支的基础上建一个新分支】
git branch -d 分支名 【删除分支】
git checkout 分支 【切换到指定分支】
git merge 分支名 【将指定分支合并到当前分支】
其他问题:
如果克隆的时候出现了:unable to access ‘https://git.coding.net/landmark/php1702.git/’.error setting certificate 解决方式:
git config --global http.sslVerify false
免密处理:
首先生成公钥对
cd 【到家目录】
ssh-keygen -t rsa -b 2048 -C '自己的邮箱' 【】
ssh:安全协议,用来保护登录,防止泄露信息
ssh-keygen:需要了解查找相关知识
-t:type,密钥类型,一共有两种,rsa和dsa
rsa:一种算法,是几个牛人的名字开头缩写
-b : rsa算法默认强度为2048,最小768位,位数越大安全级别越高
-C : 表示注释,后面‘ xxxx’ 引号内的表示注释,意为这个密钥的是代表什么,一般写自己的邮箱
id_rsa 【私钥】
id_rsa.pub 【公钥】
cat ~/.ssh/id_rsa.pub 【复制公钥到gitee设置里面ssh公钥,添加就好了】
本文介绍了Git的下载、基本概念和工作原理,详细讲解了git的常用命令行操作,包括配置、克隆、创建本地版本库、版本管理、推送代码、解决冲突和分支管理。同时,还提到了如何处理git的免密操作和解决访问权限问题。
451

被折叠的 条评论
为什么被折叠?



