写文档的原因
最近参加了一个校园小程序开发比赛,因此在学习微信小程序的云开发,现在基本入门,便到了和小伙伴一起开发小程序如何协调的问题,经过查阅资料后发现可以学习协同软件开发来解决问题。
环境软件需要
为了顺利进行小程序协同开发,我们需要学习的有Git 与 Gitee,为什么不用github,是因为github很卡,而且使用GitHub不免需要翻墙操作,团队中不需要全部成员都翻墙去GitHub,太卡了还可能遇到上传代码失败的问题,对于我们的开发而言gitee已经够用了。接下来我将把我安装软件的过程,还有如何配置环境,及git的基本用法写成一个一份文档,方便开发时进行查阅补充,这些的都是个人查阅资料得来的经验,仅供参考。
安装Git
首先我们需要安装git
 点击这里下载git git下载网址
下载完基本上一直点下一步安装就行,详细的教程点这里
接下来验证是否安装成功
首先输入在cmd中输入git命令,用来判断你是否安装git。
 安装后,右键打开git bash here
设置名字与邮箱
自报家门,git采用分布式协作,所以需要知道每台计算机的地址,是以名字和邮箱进行区分的。
 所以需要设置你的名字和邮箱
 $ git config --global user.name “Your Name”
 $ git config --global user.email “email@example.com”
创建版本库
版本库是用来存放你的项目的,对你项目的一删一改,版本库都能监控的到。
 首先寻找一个盘(切记不能是含中文目录),创建一个文件夹
 右键打开git命令行,输入命令初始化(这样版本库才能管理此文件夹中的内容)
 git init
 然后就产生了个.git的文件,它是用于记录项目的改动的,千万不能删
开始测试git 等基本命令
命令 用途
 git init 以当前目录作为项目库,初始化git
 git add 文件 向git【添加】或者【修改文件】(暂存区)
 git rm 文件 向git删除文件(暂存区)
 git commit -m “原因” 合并到分支中(快照)
 git reset --hard id 回退到某个快照版本
 git reflog 查看快照的回退步骤
 git log 查看快照,比reflog详细,但没有reset回退
 git status 查看git的状态,关于各区域的文件情况,包括增删改
 git diff 文件名 查看这个文件和之前文件的对比
 初始化
输入以下命令将文件上传,到暂存库,一个文件需要上传两次才算成功,上次一次还可以回滚到上一次提交的样子。
step1:将文件预先添加到git仓库
 git add note.txt
 如果没有出现任何提示,代表你这条命令执行成功了,大神的开发作风。(大神代表 林纳斯-托瓦兹)
 step2:然后提交给git仓库,并且附上说明,大神这样写是为了统一规范。
 git commit -m “刚刚我创建了一个文本”
在提交的时候,他会首先创建工作树进行记录版本,然后进行计算是否更改了信息,没有改的话,他就会把刚刚创建的工作树删除,不会做任何操作。这说明提交同一个一模一样的文件是没有意义的。
 add两次,结算会一次性结算
git log 就能查看自己到底做了什么(查看自己到底做了什么)
 commit是hash值的id代表的是你提交的版本号(通过他进行回退),为什么用hash因为hash叫做指纹,几乎不会重复。
 author代表作者,就是你开头安装完之后,输入的本机信息
 Date代表修复时间
 刚刚的中文是你每次提交commit(快照-备份)的时候 -m 说明
 回退命令需要根据你的log显示的id进行回退,你可以不用写全git就能自动去找
版本回退 git reset --hard id
 回退命令需要根据你的log显示的id进行回退,你可以不用写全git就能自动去找
当然,你也会问,他会把之前那个删掉吗,不会的,如果你没有关闭窗口,根据id照样可以回退回去。而且我猜测大神的写法,为了提高空间利用率,肯定是只存储了修改部分的文件,而不是全部项目。那测试也很简单,你把他全删除了,看看能否回退?(如果能,则代表大神只存储了所有修改部分的文件,没有对整个主分支进行备份)。
 居然恢复了,大神也应该想到了这个问题,所以在git中备份了一个主分支的内容,只用主分支+修改的文件进行替换就能恢复到任意版本。
 Hard代表的是指针,他只是将当前的版本回退过去了。另外如果你回退错了,又关闭了窗口,不记得是哪一个回退了,大神也写了个功能,能够查看你的回退日志。
 git reflog 查看指针回退日志
删除文件
 和添加修改一样,先把他放到暂存区。
 命令是git rm 文件名,之后在git commit -m “原因”
现在开始总结部分
总结一下,实际情况。
你想创建新的项目库
创建一个文件夹(整个目录不能有中文,windows系统编码问题),然后在此文件中,右键git bash 输入git init
你想用git管理你的项目
把项目复制到这个文件夹下,输入git add 文件名. 再输入 git commit -m “这是我项目的第一个版本”
 你想更新了你的代码
 输入git add 你的代码文件 ,再输入git commit -m “我刚修改了x”
你想删除你的没用的文件
输入git rm 没用的文件路径和名称, 再输入git commit -m “我刚删除了x”
你做了新代码,发现新功能不 好,然后回溯到某个版本
输入git log,再输入git reset --hard 版本号(通过git log看到的hash值就是版本号)
如果回溯也错了,不记得是哪个版本了
输入git reflog,可以看到所有的版本,如A版本和B版本还有C版本,你回溯到了B版本,那么A版本的id不记得了,通过reflog就可以看到回溯的操作和所有版本的commit,再通过git reset --hard 版本号 回来。
如果你想看git的步骤到哪了,有没有需要提交的东西
输入git status,可以看到目前各个区域的情况,如果想要对比这个文件和之前的文件的情况,可以通过git status发现哪些文件和版本库的分支不一样。在通过status列出的文件,进行git diff 文件名 对比。
Gitee
人与人之间需要通信,小芳的内容怎么给小王改呢?不可能现场拷贝文件吧,那远在天边的人怎么办呢,所以通过一台服务器,小芳将小王的文件拉取过来。这个服务器就叫做远程仓库,当然我不用搭建他的服务,服务器24小时运行,我可遭不住,于是就有了托管平台
注册
每个人可以注册自己的gitee,但一个gitee只能给5个人一起开发,所以这里用我的就行,
创建ssh
首先进入主目录看看你有没有创过。
 主目录,命令git config --list --show-origin
 一般是c盘中的用户中
 一定是有gitconfig的,然后看看有没有叫.ssh的目录,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件。如果有则不用走下面生成这一步,
 ssh-keygen -t rsa -C "你的邮箱地址
注意:pub的为公钥可以随便给人,非pub的为私钥不能给别人,否则别人可以连你计算机
创建一个代码仓库
创建完仓库后设置公钥(记住是public的那个)
将本地与远程仓库关联,复制远程仓库的ssh
git remote add origin + ssh
git remote -v可以查看是否关联成功
推送至远程分支(会将本地分支的内容,推送至远程分支)
 git push -u suyuan(库名) master
 本地仓库东西太少了或者没先用add commit就会这样子
那么如果,我想删除gitee远程仓库的东西怎么办。可以直接强制push,替换中央仓库中的内容。
 git push -f suyuan(库名) master
 另外一种保险(把中央仓库数据拉到本地,在本地合并)
 git pull --rebase suyuan(库名) master
至此基本差不多了










