原文链接: 点我
git提交时,仓库是空的,本地有源码
应该打开cmd 归到项目路径
然后输入git push -u origin master -f
是把本地的项目强制推送到空的仓库
git init (在当前文件夹下初始化一个git仓库)
git add . (将当前工作区的所有文件存放到暂存区)
git commit -m "提交说明" (如果忽略此条不行的话,加上这个)
git remote add origin https://xxxxxxxxxxxxxxxxx
git push -u origin master (如果不行就输入最上面的)
git本地分支和远程分支如何关联
一、如何把本地新建分支同步到远程分支上(注:该分支在远程上没有)?
二、又如何在本地把远程分支上新建分支同步到本地(本地没有该分支)?
1.其实在从远程分支分出来的分支都是跟踪分支(track),当对该分支进行push
和pull
时,如果该分支和远程分支同名git
会知道推送到远程哪个分支,从哪个远程分支同步到本地分支。其实每次克隆一个仓库时,本地新建一个master
分支来track
远程origin/master
。如果不同名,我们需要人为指定git push origin branch_name
2.如果本地新建了一个分支branch_name
,但是在远程没有,这时候push
和pull
指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用git push --set-upstream origin branch_name
,这样就可以自动在远程创建一个branch_name
分支,然后本地分支会track
该分支。后面再对该分支使用push
和pull
就自动同步。无需再指定分支。
3.跟踪远程分支
1)如果远程新建了一个分支,本地没有该分支,可以用git checkout --track origin/branch_name
,这时候本地会新建一个分支名叫branch_name
,会自动跟踪远程的同名分支branch_name
。
2)用上面中方法,得到的分支名永远和远程的分支名一样,如果想新建一个本地分支不同名字,同时跟踪一个远程分支可以利用。git checkout -b new_branch_name branch_name
,这条指令本来是根据一个branch_name
分支分出一个本地分支new_branch_name
,但是如果所根据的分支branch_name
是一个远程分支名,那么本地的分支会自动的track远程分支。建议跟踪分支和被跟踪远程分支同名。
总结:一般我们就用git push --set-upstream origin branch_name
来在远程创建一个与本地branch_name
同名的分支并跟踪;利用git checkout --track origin/branch_name
来在本地创建一个与branch_name
同名分支跟踪远程分支。
将本地已有项目上传到远程仓库
1、新建一个远程仓库
![](http://upload-images.jianshu.io/upload_images/9916947-f00d3666eab2f33e.png?imageMogr2/auto-orient/strip|imageView2/2/w/314/format/webp)
接下来按需填写项目相关信息
![](http://upload-images.jianshu.io/upload_images/9916947-601304f53887ca6c.png?imageMogr2/auto-orient/strip|imageView2/2/w/743/format/webp)
![](http://upload-images.jianshu.io/upload_images/9916947-52d9ced09dd86366.png?imageMogr2/auto-orient/strip|imageView2/2/w/778/format/webp)
点击创建
![](http://upload-images.jianshu.io/upload_images/9916947-480f03d73124b448.png?imageMogr2/auto-orient/strip|imageView2/2/w/1104/format/webp)
点击克隆/下载得到地址
![](http://upload-images.jianshu.io/upload_images/9916947-e4f970c3cd57dc7f.png?imageMogr2/auto-orient/strip|imageView2/2/w/389/format/webp)
2、创建本地仓库
在项目目录下,打开git,初始化本地仓库
git init
![](http://upload-images.jianshu.io/upload_images/9916947-b67c2957dfc4a5a6.png?imageMogr2/auto-orient/strip|imageView2/2/w/468/format/webp)
3、将本地仓库与远程仓库相关联
git remote add origin https://gitee.com/wangshiting/meituan.git
![](http://upload-images.jianshu.io/upload_images/9916947-f91107857b2f7644.png?imageMogr2/auto-orient/strip|imageView2/2/w/486/format/webp)
这里的地址就是第一步中远程库的地址
4、将本地项目push到远程库
push之前先pull,但是因为这是两个不同的项目,直接pull会报错
refusing to merge unrelated histories
所以需要这样写
git pull origin master --allow-unrelated-histories
![](http://upload-images.jianshu.io/upload_images/9916947-a600657038bc29eb.png?imageMogr2/auto-orient/strip|imageView2/2/w/528/format/webp)
然后push
git add .
git commit -m "2018"
git push -u origin master
-u 只需要第一次加,作用是将本地仓库与远程仓库相关联起来
![](http://upload-images.jianshu.io/upload_images/9916947-bf6b392239230d1a.png?imageMogr2/auto-orient/strip|imageView2/2/w/467/format/webp)
![](http://upload-images.jianshu.io/upload_images/9916947-effd9e9965d14ae8.png?imageMogr2/auto-orient/strip|imageView2/2/w/544/format/webp)
![](http://upload-images.jianshu.io/upload_images/9916947-06af712bd4569dc1.png?imageMogr2/auto-orient/strip|imageView2/2/w/583/format/webp)
![](http://upload-images.jianshu.io/upload_images/9916947-100f96f2c9e31337.png?imageMogr2/auto-orient/strip|imageView2/2/w/489/format/webp)
成功了,快到码云看看
![](http://upload-images.jianshu.io/upload_images/9916947-e4cb32beddbbf6fd.png?imageMogr2/auto-orient/strip|imageView2/2/w/1049/format/webp)