坚果云+Git实现精准版本控制

搭建初衷

工作后,经常遇到各种版本控制问题;在此之前,一直采用文件重命名的方式来标记各个文件的主要职能。但随时间的推移,一个致命性的问题就暴露出来了——项目结束很久了,安排你再次维护时,各种重名命的文件足以让人奔溃
另一个重要原因,之前一直在使用SVN,现在工作中越来越多的项目都在使用git进行管理;想多练习练习git的各种用法,以期更好的服务工作

可选方案

  • gitee/github
  • git+坚果云+阿里云盘(可选,主要解决大型附件的保存)

选型

不想折腾的gitee就能满足日常需要

  • github因国内网络不顺畅,直接忽略
  • gitee 单仓库大小上限为 500M,单文件最大 50M,用户总仓库容量为 5G;这些限制,增加了后期使用的不确定性(项目较多时总体容量不足、存在单个文件大于50M等问题)
  • 坚果云每月有1G的上传流量、3G下载流量、总容量无限制、带自动同步功能;Git免费开源,两者组合可以让我们拥有免费无上限的版本控制服务器

搭建步骤

实现思路:
1. 将坚果云同步文件夹作为git的远程仓库
2. 创建一个文件夹,管理所有项目;并交由git管理
在这里插入图片描述

第一步:创建坚果云同步盘

在电脑上创建一个文件夹,右键 选择坚果云->同步该文件夹

第二步:将坚果云同步盘初始化为git裸库(远程库)

裸库无工作空间,只存储相关纪录(具体含义请百度)。裸库目录结构如图
在这里插入图片描述

git init --bare

第三步:建立项目管理文件夹,初始化后交由git管理(本地库)

日常开发文档都存储在此处,对于重要的版本可以使用git命令进行管理
在这里插入图片描述

Ⅰ、初始化项目文件夹

使用git init初始化,内部包含工作空间,可以通过可视化工具进行项目管理

git init
# 若git命令行中的汉字不能正常显示时,可使用以下命令处理
git config --global core.quotepath false

Ⅱ、关联本地库与远程库(重点步骤)

前几次尝试时,总是无法将本地库中的文件推送到远程库(也就是坚果云同步文件夹)
# 注意事项:在git中,windows文件系统会被虚拟为linux文件系统形式。也就是会给各盘符添加一个根节点“/”,“/d/” - 表示D盘

# 给本地库绑定远程库
git remote add orig /d/Supporting/JGYun/WorkOutcome/
# 推送本地库内容到远程库
git push orig HEAD:master

git push orig HEAD:master 命令确实可以将本地库内容推送到远程库;但细心的你会发现为啥不是简单的git push,而且直接使用git push不能成功推送内容;
在这里插入图片描述
使用以下命令,配置远程存储库;就可以使用git push直接推送
注意:/d/Supporting/JGYun/WorkOutcome 是坚果云同步文件夹(即远程库)

 git push --set-upstream /d/Supporting/JGYun/WorkOutcome master

提交代码时如果写错注释,可以使用此命令修改
在这里插入图片描述

git commit --amend

版本间切换
在这里插入图片描述

# 查看版本号
git reflog
git reset --hard 版本号

从远程库拉取代码
在这里插入图片描述

git clone /d/Supporting/JGYun/WorkOutcome

附录

一、git使用中乱码的处理

Ⅰ、git status 乱码

git config --global core.quotepath false

Ⅱ、git commit 乱码

git config --global i18n.commitencoding utf-8

Ⅲ、git status 乱码

git config --global i18n.logoutputencoding utf-8

注意:如果是Linux系统,需要设置环境变量 export LESSCHARSET=utf-8

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值