mac os 利用ssh 搭建git server服务器详细教程,以及git基本用法
详细讲mac 连接mac的git操作
首先在服务端上
第一:新建一个仓库
1, cd /Users/userName/projects
用linux命令进入一个你想要创建与他人共享的文件夹。
2,sudo git --bare init
建立一个git仓库.
”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)
3,给这个git仓库所在文件夹递归赋予权限
cd .. && sudo chmod -R 777 projects
4, 由于git默认是不让其它人push到本地仓库的。所以你要赋予允许别人push的权限
步骤如下
(1)cd /Users/userName/projects
进入本地仓库下
(2)sudo vim .git/config
如果你用git init建立的仓库
sudo vim config
如果你用git init --bare建立的仓库
用vim打开git的配置文件。
这边插入一个小教程关于vim的。vim是一个强大的编辑器用一些快捷的方法会很快完成你给它的任务
vim操作教程
~1,进入vim后如果你没有在键盘上按过其它按键的话。可以先按下键盘上shift+g;(会让光标移动到文本的最后一行的行头。)
~2,按一下o键;(在当前行下面插入一行并进入输入模式)
~3,添加
[receive]
denyCurrentBranch = ignore
在客户端上
1,cd gitTest
进入要存放git文件的仓库。
2,sudo git clone name@192.168.x.xx:/path/server_project_name /path/local_project_name
sudo:为以管理员权限运行。
git clone:从远程把一个git仓库拷贝过来。
name@192.168.x.xx: name为服务端用户的名字然后+@+服务端的ip地址
:server_project_name local_project_name :服务端git文件所在的路径 和本地git仓库路径与名字
3,cd local_project_name(刚才你起的git本地git仓库名字)
进入你的git所在文件。
6,可以试着添加一些东西到git仓库里。这里添加了test1,test2两个相同文件
7,输入git status 查看本地变动
Untracked files下面的文件就是还没有提交的文件。
8,sudo git add test1
告诉git你知道“test1”文件 被新添加进来。 add命令表示 提交确认 有新的文件被“添加”或者“原来”有的文件被“修改”了。
9,git status (查看当前状态)
Changes to be committed:
下面的是你已经提交的文件。
Untracked files:
下面是你还没有提交的文件。
10,sudo git add .
当然文件一多你就不可能这样一条条的提交了。git给我我们很多方式。如果你确定所有文件都可以提交那么你就用”sudo git add .“来添加全部。
git还提供多种方式按需求匹配添加文件,参考如下
http://imtx.me/archives/1297.html
11, sudo git commit -m'add 2 files'
然后是确认正式提交所有内容。
-m后面表示提交时候的批注。这个最好要越详细约好。以后出了错误可以回来看到是哪个开发者的错误,还有他的修改思路。
12, sudo git pull origin master
然后在提交给服务端之前先要,从服务端把仓库代码拉到本地做比较。有没有冲突(不同开发者修改了同一个文件称为冲突)
冲突解决参考一下链接
http://blog.csdn.net/u012150179/article/details/14047183
如果报如下错误:
fatal: Couldn't find remote ref master
fatal: The remote end hung up unexpectedly
因为还没有任何人提交过代码,第一次要先直接push代码上去就可以了。
13,sudo git push origin master
把最终代码放到仓库里边替换仓库里面的代码
转载:http://blog.csdn.net/liuyuyefz/article/details/17025905
mac os 利用ssh 搭建git server服务器详细教程,以及git基本用法的更多相关文章
- Mac OS利用ssh访问ubuntu虚拟机及云端操作
1.桥接模式 将该虚拟机的网口设置成桥接模式(Bridged Adapter),以确保主机可以ping通虚拟机: 2.安装ssh 在ubuntu虚拟机上安装ssh server: sudo apt-g ...
- Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项
刚更新到了 Mac OS X Yosemite 10.10,发现运行Apache出现了一些问题,修正一下! 教程基于 Mac OS X Mavericks 10.9.X,移步:Mac OS X Mav ...
- 已经在Git Server服务器上导入了SSH公钥,可用TortoiseGit同步代码时,还是提示输入密码?
GitHub虽好,但毕竟在国内访问不是很稳定,速度也不快,而且推送到上面的源码等资料必须公开,除非你给他交了保护费:所以有条件的话,建议大家搭建自己的Git Server.本地和局域网服务器都好,不信 ...
- Mac OS X上搭建Apache、PHP、MySQL的Web服务器
mac OS 系统太帅了,安装php的环境如此简单,大赞一个! 转载自http://jingyan.baidu.com/article/39810a23e1939fb636fda6a9.html 在M ...
- mac 通过 终端 ssh 远程连接 centos 服务器
mac 通过 终端 ssh 远程连接 centos 服务器 在终端下输入 ssh -l root 204.74.*.* 就可以连接了,这是端口没变的情况,还是原来的22 ssh -p 448 ...
- Mac OS X Terminal 101:终端使用初级教程
Mac OS X Terminal 101:终端使用初级教程 发表于 2012 年 7 月 29 日 由 Renfei Song | 文章目录 1 为什么要使用命令行/如何开启命令行? 2 初识Com ...
- 【转】Mac OS X Terminal 101:终端使用初级教程
最近学习苹果认证的<Mac OS X Support Essentials>教程,看到 Command Line 一节有很多实用的知识,下面选取一部分翻译 + 笔记,整理成此文. 你可以整 ...
- 搭建SVN服务器详细教程
搭建SVN服务器详细教程 本教程会从最基本的下载安装到上传代码,下载代码这条线来详细讲述如何完成SVN服务器的搭建 下载并安装VisualSVN server 下载并安装TortoiseSVN 导入项 ...
- Apache搭建http网站服务器入门教程
Apache搭建http网站服务器入门教程 准备工具 一台带有Linux系统的主机,这里使用CentOS 7.1 64位系统 一个备案过的域名,这里使用www.hellopage.cn 一台可以访问网 ...
随机推荐
- CSS基础 定位相关属性的使用方法
1.相对定位:position:relative: 属性名:position 属性值:relative: 特点:1.相对自己的位置移动 2.配合方位名词移动,如:top.left.right,bott ...
- Python + Selenium 上传元素为button类型的文件的解决办法
工具:winspy Python所需安装模块:pywin32 (安装语句:pip install -i https://pypi.douban.com/simple pywin32) 元素位置: 对应 ...
- Flask_安装和配置(一)
安装Flask pip install flask 一 .创建Flask项目 Flask与Django相比,没有提供任何自动创建项目的操作,所以需要手动创建项目及启动项目的管理文件 例如,创建项目目录 ...
- Linux命令查看各端口号占用情况
yum -y install net-tools netstat -ntpl
- Go语言系列之函数
函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民". 函数 ...
- 方法覆盖 和toString方法的作用
当我们代码怎么编写的时候,在代码级别上构成了方法的覆盖呢? 两个类必须要有继承关系. 重写之后的方法和之前的方法具有:相同的返回值类型 相同的方法名 相同的形参列表 访问权限不能更高,只能更低 重写之 ...
- SYCOJ246螺旋矩阵
题目-螺旋矩阵 (shiyancang.cn) noip201403螺旋矩阵[普及组]数学算法 - 大本营 - 博客园 (cnblogs.com) 以下为搬运代码.一个为算圈数,另外一个是数学方法 思 ...
- MINItest软件架构总结
MINItest软件架构总结 ----helloWen MINItest软件架构总结1. Problem Description2. Analysis3. Solution3.1. 通过读取设备信息来 ...
- azure django bug
azure web app service azure web app service无法部署dhango网站 本地服务器测试代码 实际azure测试 django service 没有部署选项,需要 ...
- VUE3 之 组件传参
1. 概述 韦奇定律告诉我们:大部分人都很容易被别人的话所左右,从而开始动摇.怀疑,最终迷失自我.因此我们要努力的坚定信念,相信自己,才不会被周围的环境所左右,才能取得最终的胜利. 言归正传,之前我们 ...