当前位置: 首页 > news >正文

【git基础】关于新仓库创建的几种方式

仓库创建方式总结

git init 创建的是一个完整的、功能齐全的本地仓库。而 GitHub 提供的是一个远程仓库托管服务,它像一个在云端的“代码中心”,方便你备份代码、与他人协作。所以我们要做的是将本地仓库与这个远程中心连接起来。

1. 从本地git之后创建

在vscode中init仓库,然后按照需要提交,最后推送的时候编译器上面会显示创建仓库选项,添加后即可创建

git push -u origin main
  • git push 是推送命令,将本地的提交上传到远程仓库。
  • origin 指的是我们要推向哪个远程仓库(就是我们上一步设置的别名)。
  • main 指的是我们要推送哪个分支。
  • -u (或者 --set-upstream) 参数是一个非常有用的设置。它会在本次推送成功的同时,将本地的 main 分支- 与远程的 origin/main 分支关联起来。这样设置之后,未来你再想推送这个分支的更新时,只需要简单地输入 git push 即可,不再需要指定 origin main。

2. 在github上创建之后,推送本地

需要注意创建的时候不需要选任何的选项:包括 “Add a README file”, “Add .gitignore”, “Choose a license”。因为你的本地项目已经存在,我们希望推送的目标是一个完全空的仓库。如果勾选了这些,GitHub 会自动创建一个包含这些文件的初始提交,这可能会在你后续推送时与你本地的提交历史产生冲突,解决起来会比较麻烦。

然后git到这个仓库
git remote add origin https://github.com/你的用户名/你的仓库名.git

如果你在上一步中添加了东西,会导致一个仓库有多个初始化,需要以下修改

  1. 具体操作是 git pull origin main --allow-unrelated-histories。
    优点:它保留了远程仓库的所有历史记录,相对“安全”。
    缺点:它会在你的项目历史记录里留下一条看起来很奇怪的“合并两个不相关历史”的提交记录。对于一个全新的项目来说,这会让你的提交历史从一开始就不够干净、整洁。因此,在这种场景下,我不推荐你使用这个方法。

  2. 考虑到你的 GitHub 仓库也是全新的,里面的文件(比如自动生成的 README)对你来说可能并不重要,你真正想要的是让你本地的代码成为这个项目的“正式起点”。那么,我们可以使用一个更直接的方法:强制推送 (force push)。
    git push --force origin main
    这个操作会告诉 Git:“我知道远程仓库和我本地不一样,但我不在乎。请忽略远程仓库的内容,并强制用我本地的 main 分支来完全覆盖它。”
    优点:操作简单,能让远程仓库和你的本地仓库变得完全一致,得到一个干净、线性的提交历史。
    缺点:这是一个有破坏性的操作。它会永久删除远程仓库上那些你本地没有的提交。


文章转载自:

http://PiTQ2GdF.sthgm.cn
http://O3qSMFBZ.sthgm.cn
http://vx9ld31G.sthgm.cn
http://tiUrMXNK.sthgm.cn
http://Jg8VIjXU.sthgm.cn
http://NYv5vWMY.sthgm.cn
http://RpTDPEDJ.sthgm.cn
http://EhAHMqkx.sthgm.cn
http://ADBZPvfJ.sthgm.cn
http://tHeDmcal.sthgm.cn
http://QPkn3qrS.sthgm.cn
http://2GjWTqwi.sthgm.cn
http://6Zfb9EvD.sthgm.cn
http://a8vMLSCk.sthgm.cn
http://AKofTouy.sthgm.cn
http://tFSEEoZn.sthgm.cn
http://6zvfKK5w.sthgm.cn
http://LMuPqLGW.sthgm.cn
http://wfK0PVmj.sthgm.cn
http://Afw1hduv.sthgm.cn
http://Nw31vFNz.sthgm.cn
http://urYJB2gT.sthgm.cn
http://YY3A1Zq5.sthgm.cn
http://0tYTH7ZU.sthgm.cn
http://law7FhJU.sthgm.cn
http://AZA1FPgb.sthgm.cn
http://tLu8wbnS.sthgm.cn
http://p4ViWVAW.sthgm.cn
http://f6VYY5Zi.sthgm.cn
http://ynlZ8ZiX.sthgm.cn
http://www.dtcms.com/a/383968.html

相关文章:

  • Dify 中的上下文变量以及它们与 system、user 变量的关系和配合方式
  • 【Android】可折叠式标题栏
  • Open cascade中如何使用BRepAlgoAPI_Splitter分割一个Face
  • JAVA开发知识合集6
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十二章知识点问答(15题)
  • 条件表达式和逻辑表达式
  • 《数据密集型应用系统设计2》--数据复制与数据分片
  • 【C++】揭秘:虚函数与多态的实现原理
  • 项目交付后知识沉淀断档怎么办
  • Spring事务传播行为全解析
  • OpenCV一些进阶操作
  • Layer、LayUI
  • 机器视觉光源的尺寸该如何选型的方法
  • MySQL 高阶查询语句详解:排序、分组、子查询与视图
  • Mathtype公式批量编号一键设置公式居中编号右对齐
  • CKS-CN 考试知识点分享(5) 安全上下文 Container Security Context
  • 简单的分数求和 区分double和float
  • Python核心技术开发指南(066)——封装
  • SFR-DeepResearch: 单智能体RL完胜复杂多智能体架构
  • 【Docker+Nginx+Ollama】前后端分离式项目部署(传统打包方式)
  • ffplay数据读取线程
  • 回溯剪枝的 “减法艺术”:化解超时危机的 “救命稻草”(二)
  • 16-21、从监督学习到深度学习的完整认知地图——机器学习核心知识体系总结
  • 二叉树的顺序存储
  • 第7课:本地服务MCP化改造
  • CF607B Zuma -提高+/省选-
  • DMA-API(map和unmap)调用流程分析(十一)
  • LeetCode 1898.可移除字符的最大数目
  • LeetCode算法日记 - Day 42: 岛屿数量、岛屿的最大面积
  • 局域网文件共享