问题一:Push rejected Push to origin/master was rejected
方案一:git pull origin master --allow-unrelated-histories
打开git命令行窗口,依次输入下面的命令
git pull origin master --allow-unrelated-histories --将不相关的历史分支合并pull到本地
git push -u origin master -f --将本地修改强制更新到远程仓库
我尝试这种办法时,报了另外一个错误Your local changes to the following files would be overwritten by merge。关于这个问题,可以移步“问题二”
方案二:git pull --rebase origin master
git pull --rebase origin master 合并代码
git push -u origin master 提交代码
问题二:Your local changes to the following files would be overwritten by merge
方案一:保留本地文件的修改
git stash --本地工作区进行快照
git pull origin master
git stash pop --恢复本地工作区文件
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
方案一在我的项目中失败了,主要是因为项目中.idea文件夹里的文件我不希望上传到gitee上去,没有提交。想要设置不提交至git的文件,可以移步问题三
方案二:用代码库中的文件完全覆盖本地工作版本
git reset --hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore
问题三:如何防止某些文件提交至git
- 在.gitignore文件中配置需要忽略的文件
这里可以在IDEA中使用.ignore插件自动生成,如下图
默认生成的文件将.idea文件夹以及*.iml文件忽略
此时可以看到那些被忽略的文件都变成了灰色,这样提交的时候也不会被添加进去
如果一开始不小心上传了这些想忽略的文件,不用着急,可以将其删除
git rm -r --cached .idea --删除缓存中的.idea文件夹
git commit -m"提交信息" --提交
git push