配置github检出到本地操作记录
在github.com网站检出到本地,操作如下:
产生一个RSA密钥对
默认保存在/root/.ssh/文件夹id_rsa/id_rsa.pub(创建的时候三次回车即可)
其中让输入passphrase则输入密钥对的保护密码,可为空。
$ ssh-keygen -t rsa -C "homeSsdComputer"
ssh-keygen的参数含义:
-t 指定密钥类型type默认是rsa。
-C 注释文字comment比如邮箱(提交github的时候设置email即可)。
-f 密钥存储filename文件名。
提供公钥给github
将公钥id_rsa.pub内容保存在github的Personal/Personal settings/SSH keys
克隆仓库到本地
$git clone git@github.com:USERNAME/example.git
本地全局设置用户信息
$ git config --global user.name "zhangsan"
$ git config --global user.email "abc@example.com"
(提交github必须配置email非全局:$ git config user.name "abc@example.com")
列出所有配置:
$ git config --list
还有参数--replace-all替换所有:
$ git config --global --replace-all user.name "zhangsan"
测试存储指纹
测试并且将下述域的RSA载入~/.ssh/known_hosts文件
$ ssh -T git@github.com
接下来在git push之前先git pull一次,然后操作如下提交:
$ git add * //添加变动文件
$ git commit -m "代码提交描述" //提交到本地仓库
$ git push origin master //提交到远端仓库
其他:
指定push提交默认分支(为nothing不指定则无效push):
$ git config --global push.default simple
如果非master直接git push则提示:
git push --set-upstream origin dev
如果 gitignore 文件不生效,需要清理一下缓存:
git rm -rf --cached .
git add .
git commit -m 'update .gitignore'
合并指定文件或文件夹:
$ git fetch
$ git checkout -m 1a7b82e README.md
$ git checkout -m 1a7b82e app/
#完整合并
$ git merge