git
1. git push 免密码
通用情况
- 使用文件创建用户名和密码
文件创建在用户主目录下:
touch .git-credentials
vim .git-credentials
https://{username}:{password}@github.com
记得在真正输入的时候是没有大括号的。
- 添加 git config 内容
git config --global credential.helper store
执行此命令后,用户主目录下的.gitconfig 文件会多了一项:[credential]
helper = store
重新 git push 就不需要用户名密码了。
使用 ssh 协议
首先生成密钥对:
ssh-keygen -t rsa -C "youremail"
接下来按照提示操作,默认可以一路往下。
然后将生成的位于~/.ssh/
的id_rsa.pub
的内容复制到你 github setting 里的 ssh key 中。
复制之后,如果你还没有克隆你的仓库,那你直接使用 ssh 协议用法:git@github.com:yourusername/yourrepositoryname
克隆就行了。
如果已经使用 https 协议克隆了,那么按照如下方法更改协议: git remote set-url origin git@github.com:yourusername/yourrepositoryname.git
Done!
2. git add 使用 tab 键自动补全的中文文件名乱码
文件名乱码如下所示:
解决方法为:
git config --global core.quotepath false
效果如下:
可以看出中文已经正确显示了。
3. git 迁移仓库到另外一个仓库
# 仅保留历史提交信息
git clone --bare yourrepository
然后在你的其他服务,比如 gogs 新建一个仓库,然后进入你上步克隆出的仓库中,执行:
git push --mirror yourNewRepository
然后你就可以删除原来的仓库,然后git clone
新仓库就行了。