GIT命令关联本地到远程仓库详记

最近我在本地用脚手架新建了个项目 vue-cli3.0-typescript,开发完成后要传到 github上新建的空项目 vue-cli3.0-typescript上,虽然之前也这样干过,可是时隔过久早已忘却具体操做,再次操做依旧各类报错,索性好好整理一下:

根据远程仓库是否存在要关联的 master 分支分为两种状况:vue

clipboard.png

状况1:远程仓库已经有 master 分支(若在 github 仓库新建仓库勾选了【Initialize this repository with a README】则会自动创建 master 分支)

  • 首先保存本地文件
git add .
git commit -m 'test'

clipboard.png

  • 查看本地和远程全部分支:
git branch -a

clipboard.png

此时只有本地一个master分支。。。git

  • 关联远程仓库
git remote add origin git@github.com:AMrainman/vue-cli3.0-typescript.git

clipboard.png

注意关联远程仓库以后须要先git pull拉一下,会把远程仓库的分支记录拉到本地,不然没办法关联本地分支到远程分支!github

而后再git branch -a发现本地已经存在远程分支remotes/origin/master,这时候就能够按照上面git pull时的提示执行下一步关联本地分支到远程分支了。vue-cli

  • 关联本地分支到远程分支
git branch --set-upstream-to=origin/master master

clipboard.png

关联以后再执行git pullgit push命令就能成功了。typescript

状况2:远程仓库尚未 master 分支(若在 github 仓库新建项目时候没有勾选【Initialize this repository with a README】选项则没有 master 分支)

这种状况比较简单粗暴:(此次是本地的git-test仓库关联到 github 的git-test仓库)this

  • git add .git commit -m 'test'以后,便关联远程仓库:
git remote add origin git@github.com:AMrainman/git-test.git

clipboard.png

  • 而后git pull拉取远程分支记录,发现并不存在毛线的master分支 :

clipboard.png

此时若按照提示执行关联远程分支的操做便会发出警告:url

git branch --set-upstream-to=origin/master master

clipboard.png

可是警告种提示远程无master分支,能够直接强推:spa

git push -u origin master

clipboard.png

最喜欢强推了,成功~~3d

因此,这种状况下实际上只须要两行代码:code

git remote add origin git@github.com:AMrainman/git-test.git
git push -u origin master

总结

状况 1 ,存在远程分支的条件下,执行以下代码:

git add .
git commit -m 'test'
git remote add origin git@github.com:AMrainman/vue-cli3.0-typescript.git
git pull
git branch --set-upstream-to=origin/master master

状况 2 ,不存在远程分支的条件下,执行以下代码:

git add .
git commit -m 'test'
git remote add origin git@github.com:AMrainman/git-test.git
git push -u origin master

另外,若是本地仓库已经有关联的远程仓库,须要换个关联的仓库,则能够先把当前关联的远程仓库地址删除git remote remove origin,而后再按照状况 1 或状况 2 操做。也能够直接执行git remote set-url origin git@github.com:AMrainman/git-test.gitorigin的远程仓库地址换掉,而后强行容许没有关系的分支合并git pull --allow-unrelated-histories

相关文章
相关标签/搜索