Git 语法常规操作,多账户操作技巧,记录以备忘。
初始化一个仓库并上传到 github 上
1) git init
初始化本地仓库
2) git add .
添加全部已经修改的文件,准备commit 提交
3) git commit -m "first commit"
将修改后的文件提交到本地仓库
4) git remote add origin 远程仓库地址
如:git remote add origin git@github.com:chamwen/JPDA.git
注意:不要用 https 格式的链接,否则会出现验证的问题
5) git push -u origin master
并将本地代码通过这个 upStream 推送到别名为 origin 的仓库中的 master 分支上
特殊情况:当 repo 容量大于 50M时
可能会出现 Error:RPC failed; curl 56 OpenSSL SSL_read… 错误,首先将 .git/config
文件中的 [remote "origin"]
配置为非https的格式 url = git@github.com:chamwen/JPDA.git
,然后是配置缓冲大小和关闭 SSL 验证。
git config http.postBuffer 524288000
git config http.sslVerify false
若 push 网速很慢(几k每秒),可能会出现 fatal: sha1 file ‘
后续修改和更新
1) git add .
添加全部修改的代码,准备提交
2) git commit -m "commit message"
将修改后的代码先提交到本地仓库
3) git pull
多人协作时,先 pull ,将 github 的代码拉取到本地
4) git push
本地仓库 upload 到 github
清空 git 历史
1). Checkout
git checkout --orphan latest_branch
2). Add all the files
git add -A
3). Commit the changes
git commit -am "first commit"
4). Delete the branch
git branch -D master
5). Rename the current branch to master
git branch -m master
6). Finally, force update your repository
git push -f origin master
常见问题
1. ssh: connect to host github.com port 22: Connection timed out
1)网络不稳定,过一段时间再提交,或者多试几次;2)删除 .deploy_git 文件夹、仓库,再 hexo d
2. warning: LF will be replaced by CRLF
git bash 输入 git config core.autocrlf true
3. 一个设备两个github账户共存
-
输入命令,为每个用户产生一个key,注意文件名不同 ssh-keygen -t rsa -f ~/.ssh/id_rsa_cham -C “xxx1@gmail.com” ssh-keygen -t rsa -f ~/.ssh/id_rsa_wen -C “xxx2@163.com”
-
修改配置文件,格式
#不需要针对每个仓库单独配置账户名和邮箱
# default: chamwen
Host github.com
HostName github.com
User chamwen
IdentityFile ~/.ssh/id_rsa_cham
# another: wenz95
Host wen.github.com # 注意这里需要不一样
HostName github.com
User wenz95
IdentityFile ~/.ssh/id_rsa_wen
-
测试 ssh -T git@github.com ssh -T git@wen.github.com
-
push到github
# 针对默认的账户:chamwen
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:chamwen/test.git
git push -u origin master
# 针对新的账户:wenz95
git init
git add README.md
git commit -m "first commit"
git remote add origin git@wen.github.com:wenz95/test.git # 区别在这里,其他一样
git push -u origin master
- 注意事项 新建一个仓库时,注意查看当前仓库所属的用户,不要设置全局的用户名和邮箱,可以先取消全局配置
git config --global --unset user.name
git config --global --unset user.email
然后单独设置用户和邮箱信息
git config user.name "xxx"
git config user.email "xxx"