mac上给git server 添加一个repository,并且添加一个git client的访问权限
来源:互联网 发布:苹果5怎么用3g网络 编辑:程序博客网 时间:2024/05/01 08:52
尝试在自己的mac上把git环境搭好,非常感谢周晓东同学提供的技术指导!
记录一下,方便以后建新仓库,以及给其他mac开权限。
**************************************************************************************************
mac上安装git server 可以参考:http://www.cnblogs.com/eileenleung/p/3503337.html
***************************************************************************************************
1.在服务器 创建msdl空的respository$su git
$cd /Users/git
$mkdir msdl
$cd msdl
$git init --bare (--bare flag 只是用来存储 pushes,不会当做本地 repository 来使用的)
2. 在git客户端,用yourname账号登录
$cd
$ssh-keygen
全部回车,生成默认的id_rsa.pub 没有密码
$cd .ssh
$cp id_rsa.pub yourname.pub
将yourname.pub 通过scp 或者u盘 或者邮件 发给服务器
3.在服务器端
(1)
$su git$cd /Users/git/gitolite-admin/keydir
将客户端提供的yourname.pub 拷贝到这个目录
下面的3条命令是让更新生效:
$git add .
$git commit -a -m"add yourname"
$git push
(2)
修改配置文件,新增一个仓库msdl,并设置访问权限
$cd ../conf
$vi gitolite.conf
在最后新增两行,新增msdl仓库,同时添加用户的访问权限
repo msdl
RW+ = yourname
保存退出!
同样,下面的3条命令是让更新生效:
$git add .
$git commit -a -m"add yourname"
$git push
说明:
比如需要给msdl新增一个用户othername的访问权限
先把othername.pub放到keydir下面,git更新生效
然后修改gitolite.conf,在youname的后面加:空格othername ,变成
repo msdl
RW+ = yourname othername
保存退出,git更新生效
$cd /dir/to/clone/msdl
git clone git@192.168.1.225:msdl
5.打开sourceTree
添加一个working copy,选择 /dir/to/clone/msdl,即可!
大功告成!
6. 如果公司的ip(172.16.0.131)和家里的ip(192.168.1.225)不一样,只能commit,不能push和pull,怎么破?
1.修改服务器的gitolite-admin的ip
vi /Users/git/gitolite-admin/.git/config
[remote "origin"]
url = git@192.168.1.225:/gitolite-admin
修改ip 192.168.1.225 为 172.16.0.131
[remote "origin"]
url = git@172.16.0.131:/gitolite-admin
注:直接修改配置文件,不需要git push
2.修改客户端的repository地址
vi $PROJECT_PATH/.git/config
[remote "origin"]
url = git@192.168.1.225:msdl
修改ip 192.168.1.225 为 172.16.0.131
[remote "origin"]
url = git@172.16.0.131:msdl
#######分割线##############################################
git reset --hard 回滚到之前的版本以后,怎么撤销这一步回滚操作?
git stash save
git reflog
git checkout
git branch
stash你现在的脏内容。用reflog找到你要回去的commit,checkout过去然后建个分支跟原来得分支merge。
可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除(一般情况下,gc对那些无用的object会保留很长时间后才清除的)
可以使用git reflog show或git log -g命令来看到所有的操作日志
恢复的过程很简单:
1.通过git log -g命令来找到需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别,找到执行reset --hard之前的那个commit对应的commitid
2.通过git branch recover_branch commitid 来建立一个新的分支。这样,就把到commitid为止的代码、各种提交记录等信息都恢复到了recover_branch分支上了。
- mac上给git server 添加一个repository,并且添加一个git client的访问权限
- 给Git Pages添加一个子页面的域名解析相关
- 给sql Server添加一个独立权限的用户名
- git 添加一个新功能
- git 新添加一个项目
- git 的一个权限问题
- 给自己的BLOG添加一个详细的访问统计
- 给自己的Blog添加一个访问计数器!
- 给Mysql添加一个可以远程访问的用户
- mac的android studio上使用git clone source repository
- 给sql Server添加一个独立的用户名
- 给Ubuntu下的Git添加颜色
- 给自己的项目添加git管理
- 给已经存在的项目添加git
- 如何给一个注册用户添加一个权限或角色
- MySQL服务器上添加一个允许远程访问的用户
- git 上初始化一个代码库并且成为共享库
- git 添加权限管理gitolite
- Java实现右键弹出菜单例子
- 面试答案
- Android Surface 系统简单学习
- 基础篇-怎样创建一个线程
- 【书籍推荐】《Creating Dynamic UI with Android Fragments》
- mac上给git server 添加一个repository,并且添加一个git client的访问权限
- vector 比数组 的存取速度慢的不是一个数量级啊
- osg入门系列9-一个正方形
- 微信支付出现支付请求参数错误,请核实再试或交易出错,请稍后再试的可能原因
- 关于区分在javamail中smtp,pop协议引发的发、收、取邮件的概念
- 自行控制loadrunner的socket协议性能测试
- 右下角出现“测试模式 win7 内部版本7601”如何去掉?
- 汽车发动机实训设备_汽车发动机的技术指标
- 返回一个二维数组