红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
  1. 首页
  2. 开发工具
  3. 正文

Git 将本地项目添加到远程仓库

2023年8月23日 1027点热度 0人点赞 0条评论

如题,通常都是直接用git clone将远程仓库拉下来搞,并没有什么难度。但如果是本地项目已经存在,就很麻烦了。

这里记录一下过程。

准备

这里已经创建了一个远程仓库:

icexmoon/learn-spring (github.com)

本地也有对应的项目代码,但并没有用 Git 进行管理控制。

添加 Git 管理

需要先在项目的根目录下让项目受 Git 管理:

git init

现在项目根目录下会出现一个 .git 目录,该目录存放 Git 的相关文件,这样就说明该目录已经受 Git 的版本控制管理。

添加远程仓库

为本地添加远程仓库:

git remote add origin https://github.com/icexmoon/learn-spring-mvc.git

这里可以使用多种协议添加,这里用的是 HTTPS 协议,还可以用 SSH 或 git 协议。具体可以在 github 仓库的 code 按钮下看到相应协议的仓库地址:

image-20230823160542335

如果使用 SSH 协议,需要配置 RSA 密钥。

可以查看刚添加的远程仓库:

git remote -v
origin  https://github.com/icexmoon/learn-spring-mvc.git (fetch)
origin  https://github.com/icexmoon/learn-spring-mvc.git (push)

创建本地分支

需要确保本地有一个分支,一般而言 Git 会自动出创建一个 master 分支,但我这里并没有自动创建。

查看所有分支:

git branch -a

输出:

image-20230823155607910

这里remotes/xxx是远程分支,其中origin是远程仓库别名,main是具体的分支名称。

在 WindowsTerminal 中,远程分支用红色标注,本地分支是白色,当前分支是绿色。

如果缺少本地分支,可以先创建一个:

git branch main

本地分支的名称最好和你要提交的远程分支名称一致,后边要将本地分支和远程分支进行关联,名称需要匹配。

如果创建分支时出错,显示fatal: not a valid object name: 'master',需要先提交一次代码,让 master 分支自行创建,然后创建需要的分支。

切换当前分支

还需要切换当前分支为新建的分支:

git checkout main

关联远程分支

为了方便起见,还需要关联本地分支和远程分支,否则每次从远程分支拉取代码或提交代码都需要指定仓库和分支:

git branch --set-upstream-to=origin/main

如果关联失败,显示fatal: the requested upstream branch 'origin/main' does not exist,这是因为本地没有创建对应的远程分支,可以尝试先执行拉取远程分支操作git pull origin main让本地产生对应的远程分支后再尝试。

拉取并合并远程代码

关联好后就可以从远程拉取代码并和本地分支合并代码:

git pull

提交代码

合并好代码后就可以提交代码:

git add .
git commit -m 'xxx'
git push

清理本地无效远程分支

有时候远程分支已经被删除,但本地依然可以看到远程分支出现在分支列表中,可以使用以下命令清理本地无效的远程分支:

git remote prune origin

参考资料

  • Git 常用命令大全 (runoob.com)

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: git
最后更新:2023年8月27日

魔芋红茶

加一点PHP,加一点Go,加一点Python......

点赞
< 上一篇
下一篇 >

文章评论

取消回复

*

code

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号