记录使用 git 时遇到的一些问题
git 的安装和配置
安装
在终端中使用 sudo apt-get install git 安装 git
创建SSH key
在本地创建 SSH Key ssh-keygen -t rsa -C "xxxxxx@163.com" (这个邮箱和github里的邮箱好像需要对应) 创建的文件保存在 ~/.ssh/ 目录下,进入目录之后使用 cat id_rsa 查看生成的密钥 然后将其复制到 github 中
配置信息
配置用户名 git config --global user.name "your name" 配置邮箱 git config --global user.email xxxxxx@163.com
在 github 创建一个仓库
点击创建之后, 我们可以看到如何向这个仓库中上传代码的命令
echo "# Test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:Hrqingqing/Test.git
git push -u origin main
上传文件
我们进入到文件目录,我这里使用 Test 目录作为测试 输入以下命令 可以看到此时 github 上已经有上传文件的信息了
删除 github 中的文件
可以在 github 中手动删除,打开文件,然后点击删除即可 另一种是在本地删除再次上传,首先我们使用 git clone git@github.com:Hrqingqing/Test.git 命令将其克隆到本地,然后执行 git rm file_name 将文件删除,执行 git commit -m " " ,之后执行 git push -u origin main 就可以了
遇到的问题(踩坑)
- Branch main set up to track remote branch main from origin.
Everything up-to-date
如果没有对文件进行更新,再次使用 push -u origin main 就会出现以上信息,意思是没有对文件进行改动就再次上传了。 还有一种情况就是未对新建的文件使用 git commit -m "描述信息" 命令,如下图
- fatal: remote origin already exists.
这是因为重复使用了 git remote add origin git@github.com:Hrqingqing/Test.git 命令,我们可以使用git remote -v 查看,然后使用 git remote rm origin 进行删除然后再添加
- error: src refspec master does not match any.
error: failed to push some refs to ‘git@github.com:Hrqingqing/Test.git’
当我们的分支为 main 时,再向其它分支上传时(例如git push -u origin master ),会出现以上错误,这是因为本地没有 master 分支。 先创建 master 分支 git checkout -b master 然后删除之前的 main 分支 git branch -D main 再删除 github 的 main 分支 git push origin --delete main 此时再使用 git push -u origin master 依旧会报同样的错误,但此时我们可以使用 git push -u origin master -f 命令强制进行 push,大功告成
- error:could not lock config file …/.gitconfig:No such file or directory
在使用 git config --local user.name "user_name" 时报的错,可以先在那个目录下使用 git init ,之后再创建密钥,配置用户名和邮箱就可以了。
- ssh: connect to host github.com port 22: Connection timed out
首先使用 ssh -T git@github.com 测试,如果出现:You’ve successfully authenticated,那么恭喜你,连接成功可以使用了。如果出现:ssh: connect to host github.com port 22: Connection timed out,很遗憾连接超时。 连接失败后,可以同样试试 ssh -T git@ssh.github.com 、ssh -T -p 443 git@github.com 和 ssh -T -p 443 git@ssh.github.com ,检查是否有异常。
重新配置 config,使用 vim ~/,ssh/config
Host github.com /* 服务器地址:github.com */
User YourEmail(这里可以直接填 git) /* 用户账号:github上的注册邮箱 */
Hostname ssh.github.com /* 服务器地址为github地址*/
PreferredAuthentications publickey /* 采用公匙 */
IdentityFile ~/.ssh/id_rsa /* 公匙文件路径 */
Port 443 /* 端口 */
|