git中一般使用 git init 创建的库不允许同一分支多个work tree直接提交,如果这么做有可能会出现以下问题:
remote: error: refusing to update checked out branch: refs/heads/master
要解决这个问题可以有以下四种方式
# 创建共享库(bare)
$ mkdir /git/repo.git && cd /git/repo.git && git init --bare
# 本地库
$ mkdir ~/repo && cd ~/repo && git init
# 创建一个文件
$ vi foo
# 增加新增文件到库管理
$ git add .
# 提交
$ git commit
# 增加共享库位置
$ git remote add origin file:///git/repo.git
# 提交更改
$ git push origin master
# 创建库
$ mkdir /git/repo && cd /git/repo && git init
# 创建一个文件
$ vi foo
# 增加新增文件到库管理
$ git add .
# 提交
$ git commit
# 新建一个分支
$ git branch test
# 本地库
$ git clone file:///git/repo && cd repo
# 切换到分支test
$ git checkout test
# 修改文件
$ echo "foo">foo
# 提交
$ git commit
# 增加远程库位置
$ git remote add origin flie:///git/repo
# 提交更改
$ git push origin test
修改远程库.git/config添加下面代码
[receive]
denyCurrentBranch = ignore
这种方式不能直接显示在结果的work tree上,如果要显示,需要使用
git reset --hard才能看到
在远程库上
git config -bool core.bare true
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root";
grant all privileges on *.* to root@'%' identified by "root";
这样就给账号密码都是root的用户再每一台计算机上登录的权限,其中”%”就是所有的意思
如果这个不行的话直接将%改为你的ip即可
mysql使用的是3306端口,为了防止防火墙将其关闭,可以使用下面方式
在linux下要开启防火墙 打开3306 端口
编辑这个文件vim /etc/sysconfig/iptables
输入
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存后输入service iptables restart 重启防火墙
上面这个方法是别人说的,但是我没有试成功
/etc/rc.d/init.d/iptables stop
直接关闭防火墙……这个实在有点直接,但是绝对好使
在Ubuntu下执行上述步骤还是不能访问,这个时候修改/etc/mysql/my.conf文件,注释掉下面这句:
bind-address = 127.0.0.1
一台机器使用Windows和Linux一般有以下几个方式:
除了以上几个,还有一些其他方法,都没啥映像,在此不讨论。
选择两个系统无非是因为工作原因,Linux下开发,Windows下娱乐或者Word等。出现这种矛盾实在是纠结,在尝试过上述三种方案以后,我选择了在Windows下虚拟一个Linux,原因如下:
根据这几点,结果就定了,那么Windows下虚拟Linux怎样做最好呢?
我是个实用主义,怎么顺手怎么来,如果你希望使用Windows下的软件,又无法离开Linux开发(有自己的服务器除外),那么这样的方式挺好。