如何建立远程仓库并同步本地代码以及push -u的含义
第一次新建代码仓库,一方面需要在本地进行git的初始化,并将本地的代码提交到本地的仓库;另一方面,需要在代码托管平台上面新建一个远程仓库。有了本地和远程的仓库后,接着将本地与远程仓库进行关联,并把本地的代码推送到远程仓库上。
具体的操作如下:
- 在github或者gitee等代码托管平台上新建一个空的远程仓库。如果是第一次使用这个平台,还需要将本地生成的公钥上传到平台上。这些可以查阅相关资料,就不展开了。
- 在本地上初始化
git init
- 本地文件添加到暂存区,并commit,此时代码已经提交到了本地的仓库中。
git add .
git commit -m "first commit"
- 在本地新建一个远程的主机,名叫origin,地址是https://xxxxx.git
git remote add origin https://xxxxx.git
- 将本地仓库推到远程的名叫master的仓库上面,同时将本地的仓库和远程的仓库建立关联,后续远程的master和本地的master关联在了一起。
git push -u origin master
这条指令中的origin如第4步所定义的,是指远程仓库的地址https://xxxxx.git,origin master指的是这个远程仓库的master分支。push -u将当前的正在操作的本地分支和远程origin上的master建立了关联,这印证了下图当中的那句话“Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’.”。
需要注意的是如果新建的远程仓库里面包含了文件(例如系统自动添加的Readme等),会有这样的提示:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.
这里需要用到强推,强行覆盖远程仓库上的文件,指令如下,在最后面加上-f:
git push -u origin master -f