1.安装git
sudo apt-get install git
2.创建git管理员账户
sudo adduser git
3.创建仓库
创建仓库文件夹,在终端打开该文件夹后,初始化仓库:
sudo git init --bare MyProject.git
4.在该目录下,更改MyProjiect.git的所有权
sudo chown -R git:git MyProject.git
5.验证
在home下,启动命令终端,输入
sudo git clone git@xxx.xxx.xxxx:/srv/MyProject.git
其中的IP地址为Ubuntu的ip地址 回车即可,在home下会出现一个MyProject.git的空文件夹
若没有clone成功,那么需要在Ubuntu上安装ssh
输入以下命令即可:
sudo apt-get install openssh-client
6.git的一些概念
缓存区,每次add之后,当前目录中要追踪的文件会作为一个版本会存放在缓存区。注意不是所有的文件。一般一个文件生成之后,会标记为“未追踪”,但是否对其做版本管理还是要选择的。例如一些编译文件就没有必要追踪。对需要做版本管理的问件,用add添加,不需要的用clean删除。
本地仓库,每次commit之后,缓存区最新的版本就会存放在本地仓库。这里要提及一个HEAD的概念。HEAD是当前的版本指向,每次更新或者回退都会修改HEAD的指向,但对仓库中每一个版本并不会删除。所以即使回退到过去还是有机会回到现在的版本的。
远程仓库,每次push之后,会将本地仓库中HEAD所指向的版本存放到远程仓库
7.本地git仓库管理
命令 | 功能 |
git init | 在本地的当前目录里初始化git仓库 |
git status | 查看当前仓库的状态 |
git add -A | 增加目录中所有的文件到缓存区 |
git add file | 增加相应文件到缓存区 |
git commit -m | “信息” 将缓存区中更改提交到本地仓库 |
git log | 查看当前版本之前的提交记录 |
git reflog | 查看HEAD的变更记录,包括回退 |
git branch -b branch_name | 建立一个新的分支 |
git diff | 查看当前文件与缓存区文件的差异 |
git checkout – file | 取消更改,将缓存区的文件提取覆盖当前文件 |
git reset --hard | 版本号 回退到相应版本号,同样也可以回退到未来的版本号 |
git clean -xf | 删除当前目录中所有未追踪的文件 |
git config --global core.quotepath false | 处理中文文件名 |