使用Git上传本地项目到GitHub/Coding/码云

qiuhlee / 2023-05-09 / 原文

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
本文以利用Git上传本地项目到GitHub为例,为那些刚刚接触Git的新手提供使用Git上传本地项目到GitHub/Coding/码云的方法。

注册GitHub账号并安装Git

  • 首先注册GitHub账号,并添加新项目。
  • 下载并安装Git,安装路径可以自己修改,安装过程中的一些设置选择默认即可。

利用Git上传本地项目到GitHub

  • 在本地项目文件夹中空白处右键单击选择“Git Bash Here”
  • Git全局设置
$ git config --global user.name "user.name"
$ git config --global user.email "user.email"
  • 初始化Git仓库
$ git init
  • 添加文件
$ git add .

注意后面的 “.” 不要忘记写。若只想同步某一个文件,可以把 “.” 换为你要同步的 “文件名.文件类型”。如:

$ git add README.md
  • 添加注释
$ git commit -m "init"
  • 建立与远程GitHub仓库的关联
    远程仓库地址为刚才在GitHub上添加的新项目地址https://github.com/用户名/项目名.git
$ git remote add origin https://github.com/用户名/项目名.git
  • 同步到远端GitHub中新项目的分支(默认一般为main)
$ git pull origin main # 或者 master
若出现如下错误:
fatal: refusing to merge unrelated histories
可以视情况运行一下代码:
$ git pull origin main --allow-unrelated-histories  # 或者 master
  • 上传仓库到GitHub
$ git push origin main  # 或者 master

若出现如下错误:

![rejected] main -> main (non-fast-forward)

原因是远端GitHub仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。有2个解决方法:

  1. 强制覆盖,即强制用你本地的代码替代远端GitHub仓库里的内容:
$ git push --force origin main  # 或者 master
  1. 先把远端GitHub仓库中的内容fetch到本地然后merge后再push
$ git fetch
$ git merge
$ git push origin main
  • 刷新GitHub页面,搞定。