Cham's Blog Algorithm, skill and thinking

Git 常规语法

2019-09-27

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 ‘' write error: Broken pipe,换个时间再 push。

后续修改和更新

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账户共存

  1. 输入命令,为每个用户产生一个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”

  2. 修改配置文件,格式

#不需要针对每个仓库单独配置账户名和邮箱
# 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
  1. 测试 ssh -T git@github.com ssh -T git@wen.github.com

  2. 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
  1. 注意事项 新建一个仓库时,注意查看当前仓库所属的用户,不要设置全局的用户名和邮箱,可以先取消全局配置
git config --global --unset user.name
git config --global --unset user.email

然后单独设置用户和邮箱信息

git config user.name "xxx"
git config user.email "xxx"


下一篇 Walden--P15-19

Comments

Content