考虑一下我正在运行,并且我的远程名称上master有远程分支,一切都是最新的,我已经运行了。developorigingit fetch
git merge origin/develop现在和之间有什么区别吗git pull origin develop?
所以,我知道你可以通过以下方式拉出一个分支而不检查它:
git fetch origin branchname:branchname
Run Code Online (Sandbox Code Playgroud)
有没有办法在不检查的情况下也跟踪该分支?
(通常,这是通过:git checkout --track origin/branchname或来完成的git branch -u origin branchname)答案可以是完全独立的命令,也可以是上述获取的一部分。
我正在尝试$ git pull 或$ git fetch命令myRepo给我错误但myTestRepo工作正常。
命令给了我这个错误。
Fetching origin
fatal: unable to access 'http://mysite/myPath/myRepo.git/': Recv failure: Connection reset by peer
error: Could not fetch origin
Run Code Online (Sandbox Code Playgroud)
我尝试了 git$ git fetch -p和$ git fetch -p --all -f命令,他们工作了一两次之后,命令给出了相同的错误。
我不知道为什么最近我的 git pull 开始挂起
\n我已经尝试过这个
\ngit fsck && git gc --prune=now\nRun Code Online (Sandbox Code Playgroud)\n\n网络防火墙
\n这是我在 Digital Ocean 的网络防火墙中设置的
\n\n我无法访问互联网,也无法 ping google
\n\n我无法从 bitbucket 执行 ping 或 ssh
\n\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 iptables -S \n-P INPUT ACCEPT \n-P FORWARD ACCEPT \n-P OUTPUT ACCEPT \n\n\n \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ufw status \nStatus: inactive \nRun Code Online (Sandbox Code Playgroud)\n我什至尝试在网络级别和服务器级别内部完全禁用防火墙。我看起来仍然是相同的结果
\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 GIT_TRACE=1 GIT_CURL_VERBOSE=1 git pull
\n11:07:35.834628 git.c:344 …Run Code Online (Sandbox Code Playgroud) git pull和 和有什么区别git pull --no-rebase
?
根据我的理解, git pull 默认情况下会先获取然后合并。所以 no-rebase 意味着合并,因此这两个命令完全相同!那是对的吗?
如果我有一个版本控制的主项目.
然后我为第三方插件添加了一个遥控器
git remote add myplugin <url>
那我可以做 git pull myplugin master
它只是从那个遥控器中拉出变化.
现在让我说我的项目设置为:
/
/index.php
/whatever
Run Code Online (Sandbox Code Playgroud)
并将遥控器设置为
/
/whatever.php
Run Code Online (Sandbox Code Playgroud)
当我拉入遥控器时,我最终会
/index.php
/whatever
/myplugin
/myplugin/whatever.php
Run Code Online (Sandbox Code Playgroud)
这很好.
我想知道的是,如果我对myplugin进行更改,
如果我发出git push myplugin master什么推?
它只会推动myplugin的变化吗?或远程作为第二个存储库并将提交整个存储库?
当我在我的git repo上运行时,这就是我得到的.
git pull .
From .
* branch HEAD -> FETCH_HEAD
Current branch rel_20121207 is up to date.
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时git pull它实际上是从遥控器更新.
我想知道我跑的时候究竟发生了什么 git pull .
从一个拉到下一个,git pull服务器上的每一个都以此结束:
$ git pull
remote: Counting objects: 53, done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 32 (delta 19), reused 0 (delta 0)
Unpacking objects: 100% (32/32), done.
error: unable to find 71682baccff823caa21420b16dd231c6b9c1b133
fatal: object 71682baccff823caa21420b16dd231c6b9c1b133 not found
Run Code Online (Sandbox Code Playgroud)
与...相同git fetch.我可以通过将文件复制.git/object/71/682baccff823caa21420b16dd231c6b9c1b133到服务器来解决这个问题,但是经过多次拉动后,错误仍然存在,每次都在分支上使用最新的提交对象.
怎么会发生这种情况?我该如何解决这个问题呢?
完整git clone不是一个好的解决方案,因为此存储库位于正在运行的服务器项目上,并且没有git控件的情况下有更多文件.
是否可以clone进入新目录,然后将.git目录复制到旧文件夹?或者没有触及目录还有其他解决方案吗?
我最终得到了一个我不知道如何处理的状态的git存储库,我需要一些帮助来理解a)发生了什么,存储库处于这种状态的方式和原因,以及b)我应该如何反应它.基本上,当从遥控器拉出时,即使我重置所有更改并重试,我也会在遥控器前面结束.
这就是我所做的:
我已经分叉了一个git存储库,克隆了上游版本(我没有写访问权限),然后将我自己的fork添加到远程列表中,这样就git remote -v显示了以下内容:
$ git remote -v
mine git@github.com:tlycken/julia.git (fetch)
mine git@github.com:tlycken/julia.git (push)
origin git://github.com/JuliaLang/julia.git (fetch)
origin git://github.com/JuliaLang/julia.git (push)
Run Code Online (Sandbox Code Playgroud)
我现在想确保我的本地版本是最新的上游仓库中的所有内容,所以我运行
$ git pull origin master
From git://github.com/JuliaLang/julia
* branch master -> FETCH_HEAD
Already up-to-date.
tlycken$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
这让我很困惑.为什么我的分支领先于原点大师?我没有改变任何事情.
为了看看我是否可以对它做点什么,我跑了git lg(git log --graph带有一些漂亮的印记的别名).输出的顶部如下所示: …
假设我在一个不同的 分支上,而不是<local-branch>被称为<different-branch>.
当我尝试从远程分支拉到本地分支时,我执行以下操作:
git pull origin <remote-branch>:<local-branch>
Run Code Online (Sandbox Code Playgroud)
而且,从我的理解,这应该拉入我的<local-branch>,而不是拉入<different-branch>.
但是,当我git log在上班时检查时<different-branch>,我看到那些提交来自<remote-branch>?
当本地分支与我当前所在的分支不同时,如何从远程分支拉入本地分支?谢谢.
git ×10
git-pull ×10
git-fetch ×3
git-merge ×3
github ×2
fatal-error ×1
git-push ×1
git-rebase ×1
git-remote ×1
merge ×1
ssh ×1
ubuntu ×1
unix ×1