GIT和SVN区别
SVN是集中式版本控制系统。所有版本数据在服务器上,用户本地只有自己的数据。(好处:代码不全部共享,保证安全;坏处:服务器损坏就丢失所有数据,必须联网才能工作);
GIT是分布式版本控制系统。每个人都拥有所有代码。(好处:服务器损坏影响小,不需要联网工作;坏处:本地空间占用大、代码不安全)。
GIT工作区域
GIT命令(Linux,<>中内容为命令)
<git init>初始化项目(会生成.git文件夹);
<git clone [url]>克隆远程服务器上项目;
<git status>跟踪文件状态(提交、暂存等);
<git add .>暂存全部文件;
<git commit -m 备注>提交暂存区内容至本地仓库(-m表示提交备注);
<git push>提交本地仓库内容至服务器;
<git pull>拉取服务器内容至本地仓库;
<ssh-keygen -t rsa>生成公钥,使用rsa加密算法;
<git branch>打印所有本地分支(一个分支即一个版本);
<git branch -r>打印所有远程分支;
<git branch [branch-name]>新建一个分支,但依然停留在当前分支;
<git checkout -b [branch-name]>新建一个分支,并切换到该分支;
<git merge [branch-name]>合并指定分支到当前分支;
<git branch -d [branch-name]>删除分支;
<git push origin --delete [branch-name]>
<git branch -dr [remote/branch]>
GIT忽略文件
#开头为注释;
*表示全部;
**表示匹配任意中间目录;
!表示除外;
?表示单个字符;
[]表示可选字符范围;
{}表示可选字符串;如:{abc1,abc2,abc3,...}
/路径分隔符;
例子
*.txt 忽略所有.txt文件;
!abc.txt 忽略abc.txt外所有文件;
/temp 忽略根目录temp文件夹;
temp/ 忽略当前文件夹temp/目录下所有文件,但不忽略temp文件;
temp/*.txt 忽略当前文件夹temp/目录下所有txt文件,不包括子文件夹下的.txt文件;
/[Ll]ibrary/ 忽略根目录Library及library文件夹;
/[Ll]ibrary/* 忽略根目录Library及library文件夹下所有文件;
**/foo 忽略当前文件夹所有路径下的foo文件;
!/[Aa]ssets/**/*.meta 不忽略根目录Assets及assets文件夹下所有路径的.meta文件;
创建仓库
1.进入C:/用户/用户名/.ssh文件夹;
2.执行生成公钥命令,生成id_rsa.pub,id_rsa两个文件;
3.打开id_rsa.pub内容复制到Gitee-->SSH公钥-->公钥;
4.新建仓库。