首先明确一点,由于Github认为主分支的名字master会让人联想到slavery等负面词汇,所以主分支的默认名称都更改为main。
其次本方法不需要在本地项目初始化git仓库git init
,而是先在Github上新建repo后,clone到本地,然后手动将所有项目文件移动到clone到本地的项目文件夹中,再执行后续操作。这样可以避免本地端和云端文件不同导致的同步报错问题。
填写git信息
git config --global user.name "yourname"
git config --global user.email "youremail@yourdomain.com"
生成SSH密钥
首先在本地命令行生成SSH密钥:
ssh-keygen -t rsa -b 4096 -C "youremail@yourdomain.com"
然后查看并复制生成的密钥:
cat ~/.ssh/id_rsa.pub
# 复制输出的内容
ssh-rsa XXXXXXXXXXXXXXXXXXXXX== youremail@yourdomain.com
登录到Github,进入个人设置页面,打开SSH and GPG keys页面添加SSH keys,写一个好记的标题,再将复制的内容粘贴到下面的文本框中,然后保存:
创建新repo
在Github右上角有个加号,点开后选新建repo,然后信息页面只需要写个仓库名称,其他的都可以不管:
clone到本地
在仓库页面点击Code,弹出菜单里复制SSH链接:
然后打开终端找一个方便存放代码的地方,用刚刚复制的链接替换clone后的链接,执行:
git clone git@github.com:yourname/yourrepo.git
这个空项目就被clone到本地了(空文件夹),然后将项目文件移动到该文件夹下,然后在项目目录下执行:
注意:clone下来的文件夹应当是空的或仅有LICENSE或README等基本文件的,需要手动将需要同步上github的代码复制到项目文件夹下,才可以执行之后的指令,否则文件没有被git同步,最后不会上传到github
git add .
git commit -m "init"
然后再执行以下命令,将commit的改动push到Github的repo:
git push -u origin main
若提示以下类似内容则成功,可以打开Github的repo看到刚刚上传的文件:
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 24 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 315 bytes | 315.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:yourname/yourrepo.git
abc123..def456 main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
(可选)配置.gitignore
如果不想让项目里某些文件被上传,例如build文件夹及其下所有文件,则创建一个.gitignore
文件,写入build/
,代表git提交时会忽略build文件夹的所有变动。