需求环境:局域网中有A、B、C三台电脑(已安装git),假定需要A作为中心仓库类似服务器端用于代码保存共享,B、C作为客户端本地git仓库用于程序员的代码提交。
1、首先在A上创建共享文件夹(保证在B、C上可以通过局域网访问该文件夹),使用 git init --bare 创建裸仓库 作为版本控制中心。
2、在B上新建文件夹,使用该文件夹创建本地仓库 使用git init 命令。
3、把需要推送到服务器A上的初始项目代码粘贴到B上创建本地仓库中,和.git文件同级。
4、使用git add -A 和 git commit -m '注释' 添加初始项目到本地仓库;
5、使用
git remote add origin 远程仓库地址 //关联一个远程库(origin 为远程仓库别名)
例如:$ git remote add origin \\\\ENSURESERVER\\jscaas
git push -u origin master //r第一次推送master分支的所有内容 到远程仓库(A的共享文件夹创建的git仓库)
至此B作为客户端、A作为服务器端的代码版本管理简易系统完成。
6、C电脑新建目录创建完本地仓库,直接通过git remote add origin 远程仓库地址 命令关联远程A仓库后,
使用 git clone \\\\ENSURESERVER\\jscaas 或者 git pull origin master 克隆远程项目 到C电脑
至此大功告成!
常用命令整理:
git init 与 git init --bare
git remote add origin https://github.com/itguang/test.git //关联一个远程库
git push -u origin master //使用命令git push -u origin master第一次推送master分支的所有内容
git push origin master
git add file git commit -m '注释'(git commit file/-a 不支持) git reset -- file 等价于 git reset HEAD <file> git checkout -- file 从缓存到工作区 git chechout HEAD -- file 从仓库到缓存及工作区
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 和 git merge 在实际使用中,git fetch更安全一些 因为在merge前,我们可以查看更新情况,然后再决定是否合并
git reset --hard HEAD^
git pull origin master --allow-unrelated-histories
git status 查看当前git仓库的各文件存储状态
git remote -v 查看当前git仓库关联的远程仓库
git remote rm origin 删除origin远程仓库
$ git clone \\\\ENSURESERVER\\jscaas 或者$ git pull origin master 克隆远程项目
|