git学习

栏目: 编程工具 · 发布时间: 5年前

内容简介:这样在我们每次想push或者pull的时候,只需要 输入git push 或者git pull即可。在此之前,我们必须要指定想要push或者pull的远程分支。git push origin master

git学习

git学习

git学习

git pull下来用git branch -r查看远程分支才有数据

git学习

解决方案:指定当前工作目录工作分支,跟远程的仓库,分支之间的链接关系。

比如我们设置master对应远程仓库的master分支

git branch --set-upstream master origin/master

git branch查看本地分支,git branch -r 查看远程分支

git学习

git学习

具体原因: 出现这种情况主要是由于远程仓库太多,且分支较多。在默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标。

用如下命令进行本地分支和远程分支进行关联

git push --set-upstream origin master

这样在我们每次想push或者pull的时候,只需要 输入git push 或者git pull即可。

在此之前,我们必须要指定想要push或者pull的远程分支。

git push origin master

git pull origin master.

不然报错

git学习

git学习

git pull时遇到

fatal: refusing to merge unrelated histories

git学习

我们在初见一个git仓库需要将之提交到远程仓库时,使用git pull origin master 命令操作时,会遇到这样的错误:fatal: refusing to merge unrelated histories

这是因为远程仓库已经存在代码记录了,并且那部分代码没有和本地仓库进行关联,我们可以使用如下操作允许pull未关联的远程仓库旧代码:

git pull origin api-dev  --allow-unrelated-histories

git学习

这样就可以把远程该分支的代码下载到本地了

git branch -vv 可查看本地分支和远程分支的对应关系

git学习

git学习

根本原因在于本地分支 github 是从远程分支develop拉取的,在执行git push命令时,不知道应该与远程哪个分支进行同步,就会出现上面那个错误

提示了两种解决方法

git push github-origin HEAD:develop

这种是将当前分支推送到github-origin仓库的develop分支

git学习

或者

git push github-origin HEAD

这种是将当前分支推送到远程的同名分支,没有就会创建

git学习

git rebase变基

git学习

设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支,你可以在任意时间使用 -u 或 --set-upstream-to 选项运行 git branch 来显式地设置。

git学习

git学习

可以运行 git merge origin/serverfix 将这些工作合并到当前所在的分支。 如果想要在自己的 serverfix 分支上工作,可以将其建立在远程跟踪分支之上:

有时当初次git push不能参数时会提示这个

git学习

原因是本地的分支跟远程的分支名字不一样
git push origin HEAD:develop 的意思是将当前分支推送到origin的develop分支
    git push origin HEAD  的意思是将当前分支推送到origin仓库与本地当前分支的同名分支,没有就会新建

#### 删除远程分支

git branch -r -d origin/github 只是删除了fetch或pull下来的上游追踪

git学习

远程删除 git push <主机名> :<远程分支名>或git push <主机名> --delete <远程分支名>

git学习

有一种情况,就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要使用–all选项。

$ git push --all origin

上面命令表示,将所有本地分支都推送到origin主机。如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用–force选项。

$ git push --force origin

上面命令使用-–force选项,结果导致在远程主机产生一个”非直进式”的合并(non-fast-forward merge)。除非你很确定要这样做,否则应该尽量避免使用–-force选项。

git fetch <主机名> <远程分支> : <本地分支>

git fetch origin develop:branch2

git学习

意思是把origin主机的develop分支的数据下载到本地分支branch2(没有branch2就新建)

详见这里

个人网站


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Non-Obvious

Non-Obvious

Rohit Bhargava / Ideapress Publishing / 2015-3-29 / USD 24.95

What do Disney, Bollywood, and The Batkid teach us about how to create celebrity experiences for our audiences? How can a vending-machine inspire world peace? Can being imperfect make your business mo......一起来看看 《Non-Obvious》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具