相关疑难解决方法(0)

主分支和'起源/主人'分歧,如何'分散'分支'?

不知何故,我的主人和我的起源/主人分支已经分道扬.. 我实际上不希望它们分歧.如何查看这些差异并"合并"它们?

git branch

882
推荐指数
9
解决办法
66万
查看次数

git错误:无法推送一些引用

出于某种原因,我现在无法推动,而我昨天可以做到.也许我搞砸了一些东西.

这是发生的事情:

当我使用git push origin master时

gitbashscr

我的工作目录和远程存储库是什么样的:

在此输入图像描述

git github

368
推荐指数
22
解决办法
78万
查看次数

如何移动某些提交基于git中的另一个分支?

情况:

  • 主人在X.
  • quickfix1是在X + 2提交

这样:

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

然后我开始研究quickfix2,但不小心将quickfix1作为源分支进行复制,而不是master.现在quickfix2处于X + 2提交+ 2相关提交.

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
              \
               q2a--q2b (quickfix2 HEAD)
Run Code Online (Sandbox Code Playgroud)

现在我希望有一个quickfix2分支,但没有属于quickfix1的2次提交.

      q2a'--q2b' (quickfix2 HEAD)
     /
o-o-X (master HEAD)
     \ 
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

我尝试从quickfix2中的某个修订版创建补丁,但补丁不保留提交历史记录.有没有办法保存我的提交历史记录,但有一个分支没有更改quickfix1?

git patch commit

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

完全取消rebase

我这样做了一个rebase:

git rebase --onto master new_background_processing export_background_processing
Run Code Online (Sandbox Code Playgroud)

这没有做我想要的,所以我执行了重置:

git reset --hard HEAD@{1}
Run Code Online (Sandbox Code Playgroud)

我让我的分支恢复到原来的状态,但是当我输入git status时收到了这条消息:

# You are currently rebasing branch 'export_background_processing' on 'e378641'.
Run Code Online (Sandbox Code Playgroud)

如何完全取消该rebase?不确定这本身就意味着什么.

git

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

Git Alias - 多个命令和参数

我正在尝试创建一个使用多个Git命令和位置参数的别名.每个都有Stackoverflow页面,两者都显得非常明显,但我遇到了麻烦.

例如,我想切换到分支foo并执行状态.所以在我看来.gitconfig,我有:

  [alias] 
     chs = !sh -c 'git checkout $0 && git status'
Run Code Online (Sandbox Code Playgroud)

这不起作用.而这样的事情会起作用.

chs = !sh -c 'git checkout $0'

echoes = !sh -c 'echo hi && echo bye'
Run Code Online (Sandbox Code Playgroud)

任何见解将不胜感激.

git alias sh git-alias

170
推荐指数
9
解决办法
6万
查看次数

git rebase,跟踪'本地'和'远程'

在进行git rebase时,我常常难以解决在解决冲突时"本地"和"远程"发生的事情.我有时会产生这样的印象:他们将一方提交交换到另一方提交.

这可能(肯定)因为我还没有正确理解.

变基础时,谁是'本地',谁是'偏远'?

(我使用P4Merge解决冲突)

git conflict rebase

161
推荐指数
2
解决办法
3万
查看次数

自动存储git rebase上的保存/弹出更改?

我的git工作流程经常使用rebase.我总是取上游的变化(主要回购我从分叉),然后合并到我的树枝,然后重订去除无用的(对我说:d)合并的提交和树分裂.

这个工作流程中的一件事让我烦恼的是:

$ git rebase upstream/master
Cannot rebase: You have unstaged changes.
Please commit or stash them.

$ git stash
Saved working directory and index state WIP on cc: abc1234 Merge remote-tracking branch 'upstream/master' into local_branch
HEAD is now at abc1234 Merge remote-tracking branch 'upstream/master' into local_branch

$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Applying: awesome code change

$ git stash pop
Run Code Online (Sandbox Code Playgroud)

所以这里我们有4个命令,1 =失败的rebase,2 = stash,3 = rebase,4 = stash pop.除了3之外的任何东西都是无意识的工作

所以,问题是:最推荐的自动化方法是什么?每次都运行git …

git git-stash

35
推荐指数
3
解决办法
1万
查看次数

git stash并申请

我是git的新手,并不清楚stashing是如何工作的.

假设我正在分支主服务器上工作并尝试git pull接收错误,即我的本地更改将被覆盖并需要被隐藏或提交.如果我没有上演我的任何更改并运行git stash,那么做一个git pull并成功更新,当我发生了什么git stash apply

一般来说,如果其他人修改文件并且我运行git pull,那么当我发生时会发生什么run git stash apply?它是否会覆盖刚刚更新的文件,无论它们是否在我存储时被暂存?它是否会覆盖我刚刚更新过的每个文件,git pull以及被隐藏的文件?

git git-stash git-pull

31
推荐指数
2
解决办法
2万
查看次数

如何在预提交钩子中正确git stash/pop以获得一个干净的工作树进行测试?

我正在尝试使用一系列单元测试进行预提交钩子,我想确保我的工作目录是干净的.编译需要很长时间,所以我希望尽可能利用重用编译的二进制文件.我的脚本遵循我在网上看到的例子:

# Stash changes
git stash -q --keep-index

# Run tests
...

# Restore changes
git stash pop -q
Run Code Online (Sandbox Code Playgroud)

这会导致问题.这是repro:

  1. 添加// Step 1a.java
  2. git add .
  3. 添加// Step 2a.java
  4. git commit
    1. git stash -q --keep-index #存储更改
    2. 运行测试
    3. git stash pop -q #恢复更改

此时我遇到了问题.该git stash pop -q显然有冲突,a.java我有

// Step 1
<<<<<<< Updated upstream
=======
// Step 2
>>>>>>> Stashed changes
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个流畅干净?

git git-stash githooks

24
推荐指数
1
解决办法
5577
查看次数

制作我自己的框架并将其用作项目的上游

我是一名为客户制作网站的自由职业者.我有自己的基于React和Node的devstack.目前,当我开发一个新站点时,我只是复制我编写的最后一个项目并修改路由,页面等.当我添加一些新功能(更新webpack 1到2等等)时,我必须在每个项目中手动完成(或者我根本不做).

我想对此采取更专业的方法.你能向我推荐一些材料或态度吗?

我目前的目标是:使用我的devstack(框架)拥有一个repo(私有github并在验证后公开).每次我开始一个新项目时,我都会将它分叉(以便它保持为上游原点)并开始开发.每当我改变一些核心功能或添加我想要在其他项目中的东西时,我想以某种方式将其推送到devstack repo.我也可以手动将此代码复制到devstack,但我不想写两次,所以更好的方法会有所帮助.

我怎么能这样做,我的想法好吗?基本上,一些建议,如果它完全有意义,一些文章的链接将帮助我.谢谢.

git open-source

20
推荐指数
2
解决办法
305
查看次数

标签 统计

git ×10

git-stash ×3

alias ×1

branch ×1

commit ×1

conflict ×1

git-alias ×1

git-pull ×1

githooks ×1

github ×1

open-source ×1

patch ×1

rebase ×1

sh ×1