作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
假设我有一个功能分支,在将我的更改推回之前,我将上游更改 merge 到其中:
git branch feature1
... [edit my code]
... [commit]
git fetch origin master
git merge fetch_head [or rebase]
... [resolve conflicts]
... [build and test code]
在这一点上,我希望推送我的更改。这样做的正常方法是:
git checkout master [changes a bunch of working tree files]
git merge feature1 [changes the same files right back]
这工作正常,但会使(日期检查)编译器认为一大堆文件是脏的,需要重建,即使内容相同。在这种情况下,有没有一种方法可以让工作树保持不变?
类似于:
git checkout master --merge-branch feature1
编辑:
我只是在谈论根据定义不会更改文件状态的快进 merge 。
最佳答案
执行此操作的一种简单而安全的方法(无需推送或强制更新)是将 feature1 提取到 master 中:
(feature1)$ git fetch . feature1:master
From .
4a6000d..8675309 feature1 -> master
诀窍是使用 .
获取本地 feature1 ref。这比强行更新 master 分支更安全,因为它确保更新是快进的。 (有关详细信息,请参阅 git-fetch documentation 中的
现在 feature1 和 master 是一样的,在它们之间切换不会触及任何文件:
(feature1)$ git checkout master
Switched to branch 'master'
(master)$
关于Git checkout 并 merge 而不触及工作树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402993/
我正在尝试创建一个 React 组件来抽象化为我的表单创建一个输入组。所有输入都具有相同的布局 - 一个标签,下面是输入,如果存在错误/信息文本,它们将显示在输入下。 以前我处理自己的表单状态/处理程
我正在尝试将子 shell 的输出行读取到数组中,但我不愿意设置 IFS,因为它是全局的。我不希望脚本的一部分影响后面的部分,因为那是不好的做法,我拒绝这样做。在命令后恢复 IFS 不是一个选项,因为
我是一名优秀的程序员,十分优秀!