本文主要介绍如何使用GitHub创建版本库,并进行本地管理和分支管理,以及一些常见错误的原因和解决方法。
1 仓库创建
- 进入GitHub主页
- 点击左上角的New
- 填写Repository name,选择Public,勾选Add a README file,点击Create repository
- 如果想要改变仓库的Public属性,进入仓库,点击Settings,拉到最后,在Danger Zone中点击Change visibility,选择Change to private即可
- 如果想要删除仓库,进入仓库,点击Settings,拉到最后,在Danger Zone中点击Delete this repository,按提示进行操作即可
- 在Code中可以看到克隆地址,如“https://github.com/<用户名>/<项目名>.git”
- 可以在VSCode中登录GitHub账号,在VSCode中打开终端进行git的相关操作,登录之后提交文件不需要再输入账号密码
2 本地管理
- 安装配置
- 安装git:
sudo apt install git
- 查看git版本:
git --version
- 配置用户:
git config --global user.name "<用户名>"
- 配置邮箱:
git config --global user.email "<邮箱>"
- 查看配置信息:
git config --list
- 安装git:
- 工程管理
- 本地创建github文件夹
- 在github文件夹下创建工作区:
git clone https://github.com/<用户名>/<项目名>.git
- 在github文件夹下创建.gitignore文件,在.gitignore文件中添加上传时忽略的文件,如
<文件夹>/*
表示忽略<文件夹>下的所有文件。如果只想上传一个文件夹下的少数文件,可以先忽略这个文件夹,再使用!<文件夹>/<文件>
的方式不忽略这个文件。需要说明的是.gitignore文件可以放在任何文件夹下,只对该文件夹下的文件生效。 - 查看工作区状态:
git status
- 从版本库更新工程到工作区:
git pull
- 查看文件修改前后的区别:
git diff <文件名>
- 将文件的最近修改取消:
git checkout -- <文件名>
- 将文件添加到暂存区:
git add <文件名>
,或者执行git commit -a
打开编辑文件,去除需要添加文件前的“#”,保存文件退出。 - 取消git add对文件的暂存操作:
git reset HEAD <文件名>
- 将文件从暂存区删除:
git rm <文件名>
- 将文件夹和其下的文件从暂存区删除:
git rm -r <文件名>
- 将暂存区的文件提交到版本库:
git commit -m "提交信息"
- 将本地仓库的内容推送到远程仓库:
git push
,输入用户名和密码(密码需要输入token)。 - 当存在多个分支时,推送指定分支到远程分支上:
git push origin <分支名>
- 查看提交信息:
git log
,输入q退出。
- 版本管理
- 列出所有分支,当前分支前标记*:
git branch
- 基于当前分支创建新的分支:
git branch <分支名>
- 切换分支(switch要git新版才支持):
git checkout/switch <分支名>
- 创建并切换分支:
git checkout/switch -b <分支名>
- 合并指定分支到当前分支:
git merge <分支名>
- 合并某次提交的修改(commit)到当前分支:
git cherry-pick <commit>
,commit可通过git log
查看。commit也可以用分支名替换,表示转移该分支的最新提交。 - 删除分支(远程仓库的分支仍存在):
git branch -d <分支名>
- 删除远程仓库中的分支:
git push origin -d <分支名>
- 为当前分支打标签:
git tag <标签名>
- 列出所有tag:
git tag
- 删除标签:
git tag -d <标签名>
- 推送某个标签到远程(删除标签也同样推送):
git push origin <标签名>
- 推送全部标签到远程:
git push origin
- 列出所有分支,当前分支前标记*:
3 常见错误
- 错误1
- 错误提示:执行
git push
输入密码后提示错误“remote: Support for password authentication was removed on August 13, 2021” - 错误原因:自 2021年8月13日开始,Github中通过用户名+密码的认证方式被移除了,只能通过个人访问码的方式进行认证,所以需要做的是在GitHub上创建一个Personal access token,在输入密码时输入申请的token。
- 解决方法:申请token的步骤如下:
- 在个人头像下选Settings
- 选择左下角的Developer settings
- 选择Personal access tokens,然后选择Generate new token(Classic)
- 设置Note,Expiration选择No expiration,下面所有的复选框都勾选,然后点击Generate token生成token,由于token之后不再显示,需要保存下来。
- 错误2
- 错误提示:执行
git push
提示“failed: The TLS connection was non-properly terminated.” - 错误原因:可能是网络不好,或连接远程仓库出现问题。
- 重复push几次后成功。