关于git的一些相关知识点

本文介绍了Git的下载、基本概念和工作原理,详细讲解了git的常用命令行操作,包括配置、克隆、创建本地版本库、版本管理、推送代码、解决冲突和分支管理。同时,还提到了如何处理git的免密操作和解决访问权限问题。

关于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公钥,添加就好了】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值