Git系列文章(三):本地新建项目提交至远程仓库

------新建项目后,选中项目文件夹右键git Bash Here

------使用git init

------使用git status

------使用git add .

------使用git commit -m "新增文件"

------使用git status

------git remote add 添加远程仓库,是添加在/.git/conf文件中的

------git pull github521 master

------git push -u github521 master

--------------------分割线---------------------
--------------------分割线---------------------

git init

git add .

git commit -m ""

git remote add 远程分支名 远程分支地址    eg:git remote add origin [email protected]:spring-projects/greenhouse.git

git pull origin master    ------从远程仓库

git push -u origin master    ------把本地仓库的文件推送到远程仓库

上面试一般的流程,一般应该都会遇到问题吧,请看下面异常场景分析。

--------------------分割线---------------------
--------------------分割线---------------------

1、git pull origin master     

提示:fatal: refusing to merge unrelated histories

当本地分支与远程分支没有共同祖先时,会出现 fatal: refusing to merge unrelated histories 的问题。(这种错误一般出现在首次上传代码时. 远程分支和本地分支不一样)

解决方案

可以使用 rebase 的方式来进行合并:git pull --rebase origin master

git pull --rebase origin master

1、git pull –rebase 理解


这个命令做了以下内容: 
a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的) 
b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突 
c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并

所以 rebase 在拉代码前要确保你本地工作区是干净的,如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。

2、还是要听 git 提示的话,要理智,有什么不清楚的,就输入
git status
根据人家提示的来,该提交的提交,stash 的 stash。

3、删除文件后需要 git add -A, 光 git add. 不行,区别如下:
git add 的几种参数区别

git add -A 保存所有的修改 
git add . 保存新的添加和修改,但是不包括删除 
git add -u 保存修改和删除,但是不包括新建文件。

来源:git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法

猜你喜欢

转载自blog.csdn.net/qq_21517413/article/details/84979554