我有一个回购bitbucket,我正在使用git.
所以我的分支是
master
develop_one
develop_two
Run Code Online (Sandbox Code Playgroud)
当我使用时git clone git@bitbucket.org:project/project.git,我只获得主分支代码,但我需要克隆/拉取develop_one分支,所以如何克隆/拉取develop_one分支代码?
注意:其他分支(develop_one,develop_two)未合并到master中,并且在实际完成功能之前不想合并,因此想要获取/克隆/仅拉取特定的分支代码
我试图将dev分支合并为master.
git checkout master
git pull . dev
Run Code Online (Sandbox Code Playgroud)
一切似乎进展顺利,虽然有冲突我修复了这些并承诺.但是,当我检查这个新合并的工作树时,从dev中丢失了很多文件夹和文件.
git status // Shows conflicts & doesn't list some files/folders.
git commit -a
Created commit 55ffdd1: Merge branch 'dev' into master
git diff dev --name-status
Run Code Online (Sandbox Code Playgroud)
生产:
D folders/lm.gif
D folders/lmh.gif
...
Run Code Online (Sandbox Code Playgroud)
所以没有出现在'git status'上的文件/文件夹.当我修复合并的冲突时,它也没有出现在最后.
此外,当我再次尝试合并时,它说:
git merge dev
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
然而,master分支显然缺少dev分支中的文件/文件夹.这是为什么?不应该添加该文件夹及其所有内容吗?在dev分支上正在跟踪'文件夹',所以当我进行合并时它不应该被拉过来吗?
当先前有合并冲突时,git会停止合并过程并跳过一堆文件/文件夹吗?
开发分支有很多变化,过去我可能用git搞砸了某些东西,现在某些文件/文件夹不会合并吗?
(当我第一次创建开发分支时,我不知道我在做什么,并做了重置,恢复等疯狂的事情)
希望你们中的一个git guru在这里堆栈溢出知道答案.:)
谢谢,Quang
谢谢沃尔特,是的,这就是发生的事.
在做了一些调查之后,我发现发生的事情有点复杂.结果表明.
希望这能帮助除了我以外的人,他们学到了很多关于如何使用git log,git show,git reflog试图调试发生的事情.
谢谢!
所以我这样做是为了将以前删除的dev中的所有内容合并到master上.
git diff dev --name-status | grep D …当我git clone在存储库或使用时我在BitBucket上托管git pull origin master并且git pull origin myBranch它确实第二次拉,但是当我列出分支时git branch -v我只看到master.做git status什么也没什么.
如何将网络仓库中的所有分支机构拉到我的本地仓库?
可能是因为我更改了计算机并更改了git设置上的名称所以它只能让我得到master它因为它是默认分支而另一个只能由创建它的人访问吗?
我已经使用该--track选项设置了跟踪分支,当我执行操作git pull时master,它会获取所有分支origin/branchname但不与本地跟踪分支合并.这是额外的烦人,因为如果我以后做一个git push上master,它说,非快速向前更新被拒绝在跟踪分支,因为他们并没有在最初的快速转发git pull.
我的问题是:如何git pull通过获取所有分支并自动快进所有跟踪分支来实现它?
注意:git pull用于使用我的GitHub存储库快速转发所有跟踪分支,但现在我已经使用Gitolite建立了自己的存储库,这个问题正在出现.
我认为我已经完成了这个新项目,并认为git子模块是开发和部署我的应用程序的方法.
设置我的git repo(Drupal)并用Drupal的7.12标签初始化它.做了我自己的分支.然后使用git submodule add -branch 7.x git:// path/to/drupal/module sites/all/modules/contrib/module添加sites/all/modules/contrib下所需的模块
然后我想,通过将我的repo推送到github,我可以简单地将其拉出然后将所有子模块拉入部署路径.但是,我的所有模块都没有拉,即使我这样做:git submodule foreach git pull或git submodule init后跟git submodule update
事实证明,我错了.我现在需要以另一种方式重做所有内容吗?如果是,请告诉我如果不是很好,请告诉我.
我想用来adb pull将一个db文件从Nexus 7拉到PC.
我的nexus 7已根深蒂固.
如果使用" adb pull /data/data/com.xx.xx/databases/xx.db.",则由于权限问题而失败.但是,如果我使用">adb shell; >su",但我不能使用"adb pull"命令.
我有一个生产git repo,我只将主要仓库的变化拉进去; 我永远不会改变这个回购或从这里提交/推送.我最近不小心把一些未跟踪的(至少我认为他们的)图像文件推送到我当地的dev repo的主要仓库.现在,当我尝试从主回购中提取最新信息时,git会报告有关使用主回购文件覆盖现有图像文件的错误.我甚至不想从repo中获取此文件(它位于生产存储库中的gitignored目录中)
我怎样才能a)在我的主仓库中摆脱这些不需要的图像文件,或者b)从我的git pull中排除这些文件?
我正在与Jenkins CI合作,我正在尝试正确配置我的作业以使用git.
我为我的一个工作安装并配置了git插件.当我构建作业时,我希望它为我指定的分支提取最新的更改,然后继续构建过程的其余部分(例如,单元测试等).
当我看到控制台输出时,我明白了
> git fetch --tags --progress ssh://gerrit@git-dev/Util +refs/heads/*:refs/remotes/origin/*
> git rev-parse origin/some_branch^{commit}
Checking out Revision <latest_SHA1> (origin/some_branch)
> git config core.sparsecheckout
> git checkout -f <latest_SHA1>
> git rev-list <latest_SHA1>
Run Code Online (Sandbox Code Playgroud)
我看到插件获取并检出了正确的提交哈希值,但是当测试运行时,似乎repo根本没有更新.如果我进入Jenkins的存储库,我会看到最新的更改从未被删除过.
它不应该在尝试构建之前拉动吗?
我在我的Jenkins机器上安装了git 1.8.5,这是推荐的版本. https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
在检查了其他类似的声音问题后,他们的答案对我的问题没有帮助.
我可以使用git pull,但它合并我的本地提交.有没有git rebase相当于我可以进行远程更改?
我有一个存储库和一些本地更改提交.在提交之前,我使用Eclipse中的Egit将更改提取到我的本地.
它创建了一个合并提交,我提交了它的提交.
现在,当我试图推送到原点时,它表明它将推送我的提交以及合并提交.但理想情况下,合并提交不应该是远程存储库的一部分.
怎么避免这个?