前言
记录下当在本地新建一个未 git 初始化工程时如何推送到 git
新建一个工程
使用 idea 新建一个工程 test
这时候这个工程没有用 git 初始化的
利用 idea 来初始化
在当前 test 工程下按照图中操作
或者利用 git bash 来初始化
输入 git init 命令即可
不过我建议安装一个 .gitignore 插件,然后在创建 git 工程后添加一个 .gitignore 文件,可以避免上传一些和源码不想关的文件
可以参考下这两篇博文
github 上建立一个远程仓库
两个地方建立都行,任选一个
上传本地项目到远程仓库
先复制远程仓库地址
使用命令 git remote add 远程名(一般是 origin) 远程仓库地址
这里使用 git remote add origin https://github.com/LVCHANGXU/test.git
在本地添加一些内容
git add * 表示将所有内容添加
然后本地提交
git commit -m "first commit"
然后使用 git push -u 远程名 master 即可
这里使用 git push -u origin master
注意这时候我使用 git push 命令出现了这个错误,我想原因就是我在远程创建仓库的时候勾选了初始化 readme.md 文件,所以我的远程仓库相对于我的本地仓库更新了,所以需要先 git pull 下,但是呢,我刚在本地又 commit 了下,所以 pull 也会出问题,它提示我:
尝试一:失败
我想是因为我这个操作是合并远程的 master 到本地的 master,本地又不能给合并,所以我觉得应该可以在本地创建一个其他分支,比如 fix 啥的,然后切换本地到 fix 分支看下能不能给 pull,然后我试了下,也是不能,(因为我 git 也就只会一些基本的命令,然后对 git 的理解也是不够透彻,所以就试试,哈哈)
尝试二:成功
把远程仓库给删掉,然后新建一个,不过不选初始化 readme.md 文件
这时候远程仓库就是最干净的了,这时候再 push 下,这时候就成功了
尝试三:成功
不过如果我不想做 “尝试二”呢?,然后我就在浏览器中搜寻 "refusing to merge unrelated histories" 然后就搜寻到了这篇博文 解决了问题,方法就是使用命令 git pull --allow-unrelated-histories ,然后我还得试下,于是我在 github 上新建了一个文件:
这时候远程就比本地新了,然后我本地再新建一个文件后添加提交一次,
然后使用 git pull --allow-unrelated-histories 命令试下能不能成功
这时候也是成功了
发现本地和远程也都没啥变化啊
然后这时候再把本地的给 push 到远程,发现还是可以
至此,测试就完成了!!!
结尾
不过我推荐还是使用 “尝试二”比较简单快捷方便,还有就是如果你是想同步本地仓库到远程的话,那么最好是在远程创建一个新的仓库,不要选 初始化 readme.md 文件