文章目录
-
- 问题1:如何在本地创建git仓库,并推送到远程仓库?
- 问题2:如何创建本地分支,并基于其创建远程分支?
- [问题3:报错"'origin' does not appear to be a git repository"是什么原因?](#问题3:报错“'origin' does not appear to be a git repository”是什么原因?)
- 问题4:如何删除远程分支?
问题1:如何在本地创建git仓库,并推送到远程仓库?
答:
步骤如下:
-
在版本控制平台创建空的仓库 。如:
https://gitee.com/xxxx/myclass-api.git
。 -
创建本地 git 仓库:
shell
# 创建目录
mkdir myclass-api
cd myclass-api
# 初始化仓库
git init
# 创建并提交文件
touch README.md
git add README.md
git commit -m "first commit"
- 将本地文件推送到远程仓库
shell
# 设置本地仓库对应的远程仓库
git remote add origin https://gitee.com/xxxx/myclass-api.git
# 推送当前分支的代码 到 远程分支master
git push -u origin "master"
问题2:如何创建本地分支,并基于其创建远程分支?
答:
- 以master为基线,创建本地分支。
shell
# 此时分支必须已切换到master
git branch dev_0.0.1;
注:执行该命令所在的分支,即为其基线分支。
- 基于当前分支,创建远程分支
shell
# 切换到新建的分支
git checkout dev_0.0.1;
# 推送到远程分支,如果远程分支不存在,则创建远程分支
git push -u origin dev_0.0.1;
注:这一步成功的前提:远程仓库的设置是正确的。否则可能会报错。
问题3:报错"'origin' does not appear to be a git repository"是什么原因?
答:
1.报错描述:
修改并提交文件后,打算将本地分支推送到远程。结果报错了:
shell
$ git push -u origin dev_0.0.1;
# 报错信息
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
2.原因排查:
获取远程仓库的地址:
shell
$ git remote -v;
master https://gitee.com/xxxx/myclass-api.git (fetch)
master https://gitee.com/xxxx/myclass-api.git (push)
3.报错原因:
为仓库指定了错误的名称。这里仓库的名称为master
,应当命名为origin
。
4.解决方法:
shell
## 删除远程地址
git remote remove master;
## 重新添加远程地址
git remote add origin https://gitee.com/xxxx/myclass-api.git;
注意:这里的origin
有什么作用呢?
这是帮助文档的内容:
Add a remote named for the repository at <URL>. The command git fetch <name> can then be used to create and update remote-tracking branches <name>/<branch>
意思就是:
为仓库增加一个远程的名称,就可以在
git fetch
中使用这个名称,以用于创建和更新远程分支remote_name/branch_name
。
所以,origin
在git命令中可用于指代远程仓库。
以下两个命令是等价的:
shell
# 推送当前分支到远程,远程分支名为dev_0.0.1
git push --set-upstream origin dev_0.0.1;
#
git push -u origin dev_0.0.1;
问题4:如何删除远程分支?
答:
如果单纯删除远程分支,可以使用如下方法:
shell
# 方法一
git push origin :test;
或者
shell
# 方法二
git push origin --delete test;
注:
- 删除分支时,当前分支不能处于使用状态。如:要删除test分支,则当前分支不能是test,需要切换到其他分支,才能对其进行删除。
- 上面的命令只删除了远程分支,本地分支还是存在的。
若要删除本地分支,请使用下面的命令:
shell
git branch -D test;
分支的查看命令如下:
shell
# 查看所有分支
git branch -a;
-a
中的 a 是单词 al
l 的缩写。
shell
# 仅查看本地分支
git branch;
shell
# 仅查看远程分支
git branch -r;
-r
中的 r 是单词 remote
的缩写。