记录第一次项目上传github
第一次上传项目
先在本地初始化git仓库
1 | git init //在项目文件夹进行 |
将本地文件全部添加到仓库
1 | git add * |
将文件提交到仓库
1 | git commit -m "first commit" |
在github建立一个仓库
要注意仓库默认分支现在都为main,而git上都为master,所以把地址仓库名替换为main
1 | git branch -m master main |
本地与远程仓库建立连接
1 | git remote add origin "项目地址.git" |
最后推送项目
1 | git push -u origin main |
在这一步遇到两个问题:
**1.git错误 **
error: failed to push some refs to https://github.com/…
问题原因:远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了。
解决办法:使用命令行:
1 | git pull --rebase origin main |
该命令的意思是把远程库中的更新合并到(pull=fetch+merge)本地库中,–-rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。出现如下图执行pull执行成功后,可以成功执行git push origin master
操作。
**2.git错误 **
pull –rebase origin main error: cannot pull with rebase: You have unstaged changes. error: please commit or stash them.
在执行
1 | git pull --rebase origin main |
时出现错误
1 | git status //查看修改 |
发现有修改的文件未提交,这时就要添加修改到仓库并提交
1 | git add -A |
这时再推送到远程仓库就没有问题。
3.git删除已上传的node_modules文件
按顺序执行以下命令:
1 | git rm -r --cached node_modules |
在.gitignore
文件配置,使后面的操作不会将node_modules
提交到git仓库。
1 | // .gitignore文件* |
总结
1.git pull –rebase 理解
这个命令做了以下内容:
a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的)
b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突
c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并
所以 rebase 在拉代码前要确保你本地工作区是干净的,如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我在看着你!