当我们在本地创建了一个项目之后,想要进行版本管理,或者想要和其他开发者分享或者协同开发,那么我们一定会想要将项目目录上传到Hithub进行管理。那么如何将一个本地文件夹上传到Hithub成为一个存储库Repository呢?
进行下面操作之前,请先确保你本机已经安装了git工具,如果还没有安装,可以参考我的另外一片文章【如何在Ubuntu22.04中安装Git, Conda和Python】
首先,登录Github,并点击右上角的+号,选择新建Repository,根据创建选项输入Repository名称以及其他信息,即可完成创建。
然后回到我们本机,在命令终端中,进入我们的项目目录,然后依次执行以下命令
# 初始化git目录
git init
# 添加所有修改过的文件,第一次上传表示所有文件
git add .
# 提交确认,并附加提交信息
git commit -m "First commit"接下来添加远程存储库的url地址,把下面的REMOTE-URL替换成你上面创建的Repossitory地址
# 把下面的REMOTE-URL替换成你上面创建的Repossitory地址
git remote add origin REMOTE-URL
# 把本地目录分支设定为main
git branch -m main由Git工具创建的本地项目的默认分支名称叫做”master”,如果不把本地分支的名字变更为main,Git会报这个错误:error: src refspec main does not match any。所以我们用上面的 git branch -m main命令,现将本地分支的名称改为main.
接下来的步骤需要稍微解释一下,因为我们在Github上新创建了一个存储库Repository,自动产生了一次初始提交commit,所以如果这时我们按照普通的方式push版本的话,会报错:! [rejected] main -> main (non-fast-forward),解决这个问题有两种办法:
第一种方案:是加上–force参数强制上传。强制上传会忽略错误,直接删除掉Github上的首次commit,因此如果在创建存储库Repository的时候,同时创建了README或/和LICENSE文件,那么强制上传后这两个文件也将不再存在。
git push -u origin main --force第二种方案:是先获取Github上的首次提交,然后再提交本地的版本。采用第二种方案的好处是,Github上的文件不回被删除,但是需要注意的是如果本地版和Github的首次提交中包含相同的文件,比如README或/和LICENSE文件,那么将会产生冲突。所以采用第二种方案的前提是确保本地版本和Github上的版本没有相同的文件。第二种方案执行以下命令即可。
git fetch origin
git rebase origin/main
git push -u origin main这时,Github的存储库中就可以看到我们本地的文件了。
如果后续部分代码文件发生了变更,则只需要执行如下命令就可以将变更提交到github了
# 添加所有修改过的文件,第一次上传表示所有文件
git add .
# 提交确认,并附加提交信息
git commit -m "Description of this change"
# 把本地目录中的变更文件推送到github
git push希望大家有所帮助!

