相关疑难解决方法(0)

将参数传递给Git别名命令

我可以将参数传递给Git命令的别名吗?

我在Git配置中有一些别名,如下所示:

rb1 = rebase -i HEAD~1
rb2 = rebase -i HEAD~2
rb3 = rebase -i HEAD~3
rb4 = rebase -i HEAD~4
....
Run Code Online (Sandbox Code Playgroud)

是否可以制作rb别名,以便git rb <x>适用于任何<x>

我试过这个别名:

rb = rebase -i HEAD~
Run Code Online (Sandbox Code Playgroud)

但后来例如git rb 8不起作用.

git git-config git-alias

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

git:从另一个分支签出到当前分支的文件(不要将HEAD切换到另一个分支)

我想将另一个分支中存在的不同版本的文件加载到我当前的分支中.

git help checkout 说:

DESCRIPTION
   Updates files in the working tree to match the version in the index or
   the specified tree. If no paths are given, git checkout will also
   update HEAD to set the specified branch as the current branch.
Run Code Online (Sandbox Code Playgroud)

有没有办法检查所有这些文件,但更新HEAD?

git branch git-checkout

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

切换分支而不触及工作树?

我目前在调试分支上,并且想要切换到主分支,而不修改工作树(保留它在调试分支中的方式),因此我可以将一些更改提交到主分支.

有没有办法做到这一点?

git version-control branch

42
推荐指数
3
解决办法
9535
查看次数

Git结帐并合并而不触及工作树

假设我有一个功能分支,在推送我的更改之前我将上游更改合并到其中:

git branch feature1
... [edit my code]
... [commit]
git fetch origin master
git merge fetch_head [or rebase]
... [resolve conflicts]
... [build and test code]
Run Code Online (Sandbox Code Playgroud)

在这一点上,我希望推动我的改变.这样做的正常方法是:

git checkout master [changes a bunch of working tree files]
git merge feature1  [changes the same files right back]
Run Code Online (Sandbox Code Playgroud)

这工作正常,但会使(日期检查)编译器认为一大堆文件是脏的,即使内容相同也需要重建.在这种情况下,有没有办法结帐并使工作树保持不变?

就像是:

git checkout master --merge-branch feature1
Run Code Online (Sandbox Code Playgroud)

编辑:

我只谈论快速合并,根据定义,它不会改变文件的状态.

git

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