×

消息

EU e-Privacy Directive

This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

View e-Privacy Directive Documents

You have declined cookies. This decision can be reversed.

好久没在家写代码了,要把准备做的几个在线工具的代码都用git管理,并放在服务器上面。几个月不折腾,突然发现很多命令和配置都忘记了。在这里记一下,方便以后再查。

1. 库初始化,在将要定义成为git库的目录下执行:

git init
git add .
git commit

建立之后的库默认只能本地使用,想让它能接受远程的push,必须有个金手指文件:

cd .git
touch git-daemon-export-ok

2. 用ssh协议克隆一个库的远程url:

ssh://user@server:[port]/absolute/path/to/repository

因为ssh协议的端口是固定的,所以可以省略。比如我的tools库:

git clone ssh://mrdaydreamer@newyork:/home/dev/tools/.git

3. 默认情况下远程被checkout的分支仍然不能接受push,错误信息很清楚:

remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.

很显然,要么在远程checkout一个不用的分支,要么把这个变量设置成ignore。显然后者看着比较舒服:

git config receive.denyCurrentBranch ignore

4. 生成ssh公共密钥

以前在家git一直用命令行,前不久才知道有个图形化工具很不错,叫git extensions,所以回家试了一下。都挺好用,就是ssh协议每次都要弹窗输密码很烦。其实可以给git生成全局密钥,再把公钥扔到服务器上,就不用输密码了。随便打开一个git console,并执行:

ssh-keygen.exe

此命令会在%HOME%/.ssh/下生成两个密钥文件,其中扩展名为.pub的文件即为公钥,复制其内容到服务器上,添加到~/.ssh/authorized_keys文件的末尾,以后就不用再输ssh密码了。

提交评论


安全码
刷新