Git服务--码云-初识

Git服务–码云-初识

一. 关于云平台

主要用于版本控制,linux开发中的意外产品、初心在于开源。

云平台种类:

  • GitHub(最主流)

    • 国内访问速度慢
    • 私有项目托管收费

  • gitee(国内盛行)

    • 国产,速度快
    • 私有托管免费

  • 公司用gitlab或者svn来搭建


二. 云平台使用

1. 生成公钥

lcg@Django:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pyvip/.ssh/id_rsa):   #此处可指定文件名,默认为/home/pyvip/.ssh/id_rsa。 
#之后想用默认配置可一直 回车

2. 码云平台添加公钥

公钥用于本地向云平台传输数据的加密解密,所以要将公钥添加给云平台。

此处以码云平台为例:

1. 登陆码云,没有账号就注册
2. 进入用户界面,找不到可以用这个网址: https://gitee.com/profile/sshkeys
3. 添加公钥,将公钥粘贴进去

3. 码云平台创建仓库

在这里插入图片描述

之后就是常规操作

4. 初始化git

4.1 安装
 #linux 安装git, 若已安装可使用 git --verdion查看
 sudo apt install git
4.2 设置个人信息
# 全局配置个人信息
git config --global user.name user_name
git config --global user.email user_email

# 配置信息会保存在家目录下
pyvip@TL:~/MyProjects/.git$ more ~/.gitconfig
[user]
	name = 张天铭
	email = 就不告诉你
	
# 针对本项目的个人配置信息
git config user.name user_name
git config user.email user_emaila

# 配置信息出现在.git/config文件中

5 将仓库克隆到本地

采用ssh链接方式

  1. 获取远程仓库链接

    1. 登陆码云平台,进入对应的仓库
    3. 点击“克隆/下载”,复制ssh链接
    
  2. 克隆

    #git clone 链接
    git clone git@gitee.com:无名氏//无名仓库
    #之后就会向当前文件夹下载远程仓库文件
    

三 将本地文件上传至码云

1 文件过滤

一些配置文件不想上传的可以编辑.gitignore文件

#.gitignore
...
#文末写上文件名
my.cnf

2 Git结构

Git是分布式管理系统。服务器和客户端都有版本控制能力,都能进行代码的提交、合并、…

Git存储结构共有四个模块:Remote, Respository, Index, Workspace

在这里插入图片描述

  • Remote:远程仓库,存在于(码云)平台服务器,存储整个项目的编码记录
  • Respository:本地仓库, 对个人开发的一个小阶段代码存储
    • 记录的各版本可以查看或者回退
    • 但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)
  • Index:暂存区,工作区和本地仓库之间的一个缓冲插件。
  • Workspace:工作区,即开发区、也就是开发人员存储其编写的代码的地方

3 上传四部曲

2.1. git初始化
#cd 到对应目录下
git init

当前目录下生成.git文件夹,存储关于git的信息。

2.2. 工作区提交到暂存区
# 添加项目中所有文件
git add .
或者
# 添加指定文件
git add models.py
2.3. 将暂存区文件提交到仓库区
git commit -m '一些描述'
2.4. 提交到远程仓库

首先,声明一个远程链接

#git remote add 别名 地址  地址即克隆的ssh链接
git remote add mayun1 git@gitee.com:无名氏/无名仓库.git

​ 其实就是声明了一个变量mayun1之后用它代表远程仓库地址;

其次,提交项目

#如果远程仓库有文件未下载,执行下面内容.表示将远程mayun1的master分支拉取过来和本地的当前分支进行合并。
git pull mayun1

#开始提交,git push 远程链接 分支
git push mayun1 master

四. git操作补充

git主要用于版本控制,下面讲述相关用法。

1. 查看版本

#查看远程仓库版本
git log    #不做测试

$ git reflog
56008d9 HEAD@{0}: pull mayun1 master: Merge made by the 'recursive' strategy.
522ea23 HEAD@{1}: commit (initial): 测试
  • git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
  • git log 不能察看已经删除了的commit记录

2. 回退版本

本质是用仓库中旧版本的文件替换当前项目文件

方法一:

  • HEAD表示当前最新版本
  • HEAD^表示当前最新版本的前一个版本
  • HEAD^^表示当前最新版本的前两个版本,以此类推…
  • HEAD~1表示当前最新版本的前一个版本
  • HEAD~10表示当前最新版本的前10个版本,以此类推…
git reset --hard HEAD^

方法二:

当版本非常多时可选择的方案

# 通过每个版本的版本号回退到指定版本
git reset --hard 522ea23
#版本号右git reflog 可获得

3. 撤销修改

指的是用本地仓库文件替换工作区文件,以达到撤销效果。

git checkout 文件名
#执行后,该文件(文件夹)被覆盖重写

与reset不同,他不会更改HEAD指向的分支的指向。


4. 版本对比

1. 比较工作区与暂存区
git diff 不加参数即默认比较工作区与暂存区
2. 暂存区--本地仓库
git diff --cached <filepath>   #比较暂存区与最新本地版本库
3. 工作区--本地仓库
git diff HEAD <filepath>   #比较工作区与仓库最新版本  HEAD前可加^
4. 本地仓库提交1--本地仓库提交2
git diff commit1 commit2  #比较两次提交之间的差异

举个栗子

djfirst) zdq@python:~/DjProject/PerManager$ git diff HEAD HEAD^
diff --git a/test.py b/test.py
index 5f2f16b..58c9bdf 100644
--- a/test.py
+++ b/test.py
@@ -1 +1 @@
-1111
+111
#旧版本文件内容“111”新版本文件内容“1111”

5. 文件删除

#本地删除
ubuntu rm 即可
# 暂存区删除
git rm filepath
# 仓库删除
将暂存区删除结果提交即可,反之撤销修改见3. --checkout

塔卡教学很靠谱,赞一个!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值