前言
团队开发有主流有两种方式,分别是SVN 和Git,SVN是集中式管理,Git是分布式管理,他们的区别关键在于网络,SVN(必须要用网络,因为集中式管理需要服务器的,相当于服务器是一个大仓库,所有人代码都要传到这个仓库)Git可以不用网络(因为每一个人都相当于一个虚拟的小仓库)。
1 维护代码是通过网络 从远端服务器克隆一份代码到本地(clone)相当于拷贝出代码+小仓库,提交是可以选择提交到本地的虚拟仓库(不需要网络),然后可以将这个小仓库在提交(push)到远端服务器大仓库里面,每一个小仓库之间是互不影响的。
SVN 是直接copy代码,提交的时候只能提交到远端服务器里面,每个人相互之间提交可能出现影响。
2 SVN 创建一个文件提交的时候要先add一下,修改的时候,直接commit一下就行了,而Git首先也是add一下,但是修改时每次都需要先add再commit 新修改的文件替换以前的文件。
纯命令管理
创建本地仓库
1、初始化自己一个普通文件夹为本地仓库文件夹
cd 获取普通文件夹路径 然后 git init 这时候文件夹里面有隐藏的git文件夹,怎样显示隐藏文件夹呢
打开终端,输入:
defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool false 此命令关闭显示隐藏文件
命令运行之后需要重新加载Finder:快捷键option+command+esc,选中Finder,重新启动即可
git文件夹里面的配置文件 (里面是不放代码的,代码跟git文件夹是同级文件)
conflg 配置文件
description 描述文件
HEAD 版本
hooks文件夹 钩子文件 (超级NB 写好后可以对新提交的文件进行运算 自动找到bug)
info文件夹 本地仓库的信息文件
objects文件夹
refs文件夹 日志
2、查看当前本地仓库的状态
git status
如果有要提交的东西会显示为红色(意味着根本就没进入临时仓库中)
3、要提交新的文件
a、先add filename(文件名)
git status
会发现文件变绿色(也就以为着,文件已经放到临时仓库中)
b、再提交 git commit (每次都需要add 和 commit)
连绿色文件都没了(意味着提交成功,也就是临时仓库中的文件提交到真正的仓库中去了)
commit之后,会进入vim编辑器写一些修改信息的描述的
(如果不想进入vim编辑器写描述信息,可以在commit的时候直接加上描述信息
git commit -m"你的描述信息")
4、查看之前的提交版本信息
git log 会打印之前所有的版本信息
想要看之前的版本信息更清楚一点,可以用下面的命令
git reflog (这个是看版本的前七位数)
5、回到某一个版本
commit 提交之后回版本的操作
回到前一个版本
git reset --hard HEAD^
回到前面某个版本
git reset --hard 版本号
提交(commit)之前要想回到上一个版本
一种:git reset --hard HEAD
二种:git checkout main.m
或者 git checkout HEAD main.m
注意:HEAD 之后的 托字符 ^
commit 之后的"回上一版本操作"要加上^
commit 之前的"回上一版本操作"不加^
6、查看所修改过的地方
git diff
红色的代表是自己删除过的
绿色的代表是自己修改过的