标签: git-branch

为什么git-rebase在我所做的只是压缩提交时给我合并冲突?

我们有一个拥有超过400个提交的Git存储库,其中前几个是很多试错.我们希望通过将许多提交压缩到单个提交来清理这些提交.当然,git-rebase似乎还有很长的路要走.我的问题是它最终会出现合并冲突,而这些冲突并不容易解决.我不明白为什么会有任何冲突,因为我只是压缩提交(不删除或重新排列).很可能,这表明我并不完全理解git-rebase是如何做它的南瓜的.

这是我正在使用的脚本的修改版本:


repo_squash.sh(这是实际运行的脚本):


rm -rf repo_squash
git clone repo repo_squash
cd repo_squash/
GIT_EDITOR=../repo_squash_helper.sh git rebase --strategy theirs -i bd6a09a484b8230d0810e6689cf08a24f26f287a
Run Code Online (Sandbox Code Playgroud)

repo_squash_helper.sh(此脚本仅由repo_squash.sh使用):


if grep -q "pick " $1
then
#  cp $1 ../repo_squash_history.txt
#  emacs -nw $1
  sed -f ../repo_squash_list.txt < $1 > $1.tmp
  mv $1.tmp $1
else
  if grep -q "initial import" $1
  then
    cp ../repo_squash_new_message1.txt $1
  elif grep -q "fixing bad import" $1
  then
    cp ../repo_squash_new_message2.txt $1
  else
    emacs -nw $1
  fi
fi
Run Code Online (Sandbox Code Playgroud)

repo_squash_list.txt :(此文件仅由repo_squash_helper.sh使用)


# Initial import
s/pick \(251a190\)/squash …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-rebase git-checkout git-branch

126
推荐指数
4
解决办法
3万
查看次数

github上fork和branch之间的区别

如果我分叉一个托管在github上的项目.我分叉所有分支吗?我怎么知道我的fork基于哪个分支?换句话说哪个分支将被下载到我的PC?

branch github git-branch git-fork

123
推荐指数
3
解决办法
8万
查看次数

将Git远程HEAD更改为指向除master之外的其他东西

如何将Git遥控器的HEAD引用设置为指向除"master"之外的其他内容?

我的项目有一个不使用"主"分支的策略(所有分支都有有意义的名称).此外,规范主存储库只能通过ssh://访问,没有shell访问权限(如GitHub或Unfuddle).

我的问题是远程存储库仍然有一个HEAD引用refs/heads/master,但我需要它指向一个不同的分支.这导致两个问题:

  1. 克隆回购时,有这个,

    警告:远程HEAD是指不存在的ref,无法结帐.

    这令人困惑和不方便.

  2. 基于Web的代码浏览器依赖于HEAD作为浏览树的基础.我需要HEAD指向一个有效的分支,然后.

git git-remote git-branch

120
推荐指数
8
解决办法
17万
查看次数

在Git仓库中更新针对master的过时分支

我有一个Git存储库,它具有已经过时的分支(本地和远程).我想把这个分支与主分支联系起来,但我不知道该怎么做.也可能存在许多合并冲突.

如何将这个过时的分支带到或更新到与主分支相同的状态?

git git-branch

119
推荐指数
1
解决办法
9万
查看次数

在本地和远程重命名Git分支?

有没有办法在本地重命名Git分支并将其推送到远程分支,即使已经有很多提交推送到远程分支?

或者,是否有必要创建新的本地分支,删除旧的本地分支,然后在远程存储库上重复该操作?

git git-branch

119
推荐指数
1
解决办法
4万
查看次数

Git推分支从一个遥控器到另一个遥控器?

我有以下遥控器设置:

$ git remote 
korg
rorg
Run Code Online (Sandbox Code Playgroud)

以下分支机构:

$ git branch -a
* (no branch)
  remotes/korg/gingerbread
  remotes/korg/gingerbread-release
  remotes/korg/honeycomb
  remotes/korg/honeycomb-mr1-release
  remotes/korg/master
  remotes/m/android-2.3.3_r1 -> refs/tags/android-2.3.3_r1a
  remotes/m/gingerbread -> korg/gingerbread
Run Code Online (Sandbox Code Playgroud)

现在我希望将所有远程分支推korg送到rorg远程.我怎么做?

优选地,如果可以避免,则不为每个第一分支建立本地分支.

git git-push git-remote git-branch

116
推荐指数
4
解决办法
4万
查看次数

如何'git pull'成一个不是现在的分支?

当您git pullmaster分支上运行时,它通常会从中拉出origin/master.我是在一个叫不同的分支newbranch,但我需要运行,做了一个命令,git pullorigin/mastermaster,但我不能运行git checkout更改所选分支,直到后拉完成.有没有办法做到这一点?

为了给出一些背景知识,存储库存储一个网站.我newbranch通过切换网站对其进行了一些更改并进行了部署newbranch.现在这些更改已合并到上游master分支,我也试图将网站切换回master分支.在这一点上,newbranch并且origin/master是相同的,但是master落后origin/master并且需要更新.问题是,如果我采用传统方式:

$ git checkout master
   # Uh oh, production website has now reverted back to old version in master
$ git pull
   # Website is now up to date again
Run Code Online (Sandbox Code Playgroud)

我需要实现与上面的相同(git checkout master && git pull),但是在此过程中不需要将工作目录更改为早期版本.

git branch git-branch

116
推荐指数
5
解决办法
6万
查看次数

git remote prune - 没有像我预期的那样显示出多少修剪过的树枝

从手册页:

Deletes all stale tracking branches under <name>.
These stale branches have already been removed from the remote repository
referenced by <name>, but are still locally available in "remotes/<name>".
Run Code Online (Sandbox Code Playgroud)

所以我删除了一堆分支

git push origin :staleStuff
Run Code Online (Sandbox Code Playgroud)

然后跑了

git remote prune origin
Run Code Online (Sandbox Code Playgroud)

但是,只修剪了一个本地分支.其中一些分支是由我创建的,一些是由同事创建的.这是否表明我首先没有正确跟踪这些分支?

git version-control branch git-remote git-branch

112
推荐指数
1
解决办法
12万
查看次数

删除Bitbucket中的分支

我在我们的一个存储库中创建了许多分支.这些分支在被提取给主人之前进行测试.现在我在列表中看到很多它们,我们永远不会再使用它.如何将这些分支直接删除到Bitbucket?

git bitbucket git-branch

111
推荐指数
6
解决办法
16万
查看次数

在GitHub上有一个公共仓库的私人分支?

我在GitHub仓库中有一个公共PHP项目,它只包含一个分支(主).

我想要一个独立的分支/分支对我来说是私有的(我已经支付了私人GitHub回购).我希望能够将私有分支/分支的更改合并到公共仓库,反之亦然.

考虑到这一点,这是我的问题:

  1. 我可以在公共回购中拥有一个私人分支机构吗?
  2. 我可以将自己的公共仓库分配到我自己的私有分支/分支中吗?
  3. 如果以上两种方法都可行,哪种方式最好?如果不是,我该怎么办?

fork github git-branch

105
推荐指数
3
解决办法
6万
查看次数