该git merge命令有一个执行快进合并的选项,但这不是我想要的,因为如果它不能进行快进合并,它会使用正常合并.
是否有一个git命令只执行快进合并(来自跟踪的远程分支),如果不能进行快进合并,什么都不做?
运行时git gc,git完成最多99%,然后锁定.我让它整夜运行,它从未完成,似乎没有进展.通常我必须硬重置机器才能恢复,因为一切都锁定了.因为机器变得完全没有反应,我无法得到top或htop统计.
我决定暂时忽略这个问题.然而今天,当运行a时git pull,git决定自动打包存储库,这会触发同样的错误.
这是它被卡住的地方:
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 428464, done.
Delta compression using up to 4 threads.
Compressing objects: 99% (93702/93718)
Run Code Online (Sandbox Code Playgroud)
这是Fedora 17上的Qt 4.8 C++项目.我有8GB的RAM,持有该项目的分区是33G,使用了27G(88%已满).
什么可能导致这个问题?如果机器缺乏运行资源git gc,有没有办法告诉git不要自动打包?
我使用Git pull将更改从远程仓库下载到我的本地dev文件夹.问题是我每次提取更改,git都会下载.gitignore文件中存在的一些文件(例如/app/config/config.yml)
我究竟做错了什么 ??这是我的.gitignore
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
/app/config/config.yml
Run Code Online (Sandbox Code Playgroud)
但当我拉git pull我发现一个新的config.yml !!
我们有一个repo,我已经添加到我的本地分支作为Upstream.有人发了PR,我想复习一下.虽然我可以通过他们的Diff工具查看Github上的代码,但我想在我的本地机器上进行测试并在真实设备上测试它以确保它正常工作(Android repo它).
什么是结账这个公关的最佳方式?
目标:我有几个由相同规则管理的存储库.我想创建一个git别名,以帮助获取和/或仅拉取相关分支,而无需获取与我不关心的工作相关的许多远程分支的信息.我希望最终结果将保持我的日志输出清洁和可管理,同时仍然提供我的相关信息.
细节:我想要一个命令来拉"master"和任何以"development /"开头的分支(即开发/ 2.0 ......).还有其他几个分支我想避免获取.这些通常采用以"integration /"或"personal /"开头的表单.
我得到了:我现在知道git瓷器是什么感谢"git fetch --help"中的评论,以下是我如何使用它:
git fetch origin master:master -u
Run Code Online (Sandbox Code Playgroud)
这甚至可以获得master和1个开发分支:
git fetch origin master:master development/2.0:development/2.0 -u
Run Code Online (Sandbox Code Playgroud)
但我有麻烦将其扩展到每个开发分支,而不单独列出它们(这似乎什么都不做):
git fetch origin development/*:development/* -u
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
当然,有git pull,但有一个正式的方法(即不是一个特殊的方法,如发送电子邮件)在"纯"git中提出拉取请求?
我想git pull在master分支中做,我看到这个消息带有很长的文件列表
The following untracked working tree files would be overwritten by merge:
Run Code Online (Sandbox Code Playgroud)
我真的不在乎这些文件是否被覆盖,因为我需要获取最新的远程表格.我已经调查过了,我做不到git fetch,git add *而且git reset HARD
当我这样做时git status,它会显示仅有未跟踪文件的列表.我不想提交这些文件
根据我对合并冲突的理解,当两个人更改了同一个文件和/或修改了该文件中的同一行时,就会发生合并冲突.所以,当我做了一个
git pull origin master
我期望合并冲突,因为两个版本中的相同行不同,但看起来git决定覆盖我的本地文件.
为了提供更多信息,我几天前就把我的版本推到了Github上.然后有人拉了它,用它工作,并把它推回github.另一个人修改过的两个文件对我很感兴趣.
第一个文件是配置文件,另一个人更改了密码.所以当我从github取出时,我本地版本的密码与github上的密码不同.但是,在我的终端,它说
Auto-merging <filename>
Run Code Online (Sandbox Code Playgroud)
并且,它覆盖了我的文件,密码是由不同的人设置的密码.
第二个感兴趣的文件是用模板引擎(PUG)编写的HTML文件.另一个人改变了该文件中的很多东西,比如添加了很多css类,删除了我使用过的一些类,添加了css文件的链接等等.但当我拉它时,终端甚至没有提到它是自动合并它,只是覆盖了我本地仓库中的整个文件并使用了Github中的那个.
对于这两个文件,我的问题是,这是否是使用git pull的预期行为,还是我做错了什么?
以下是我使用的命令.
git checkout -b "misc"
git pull origin master
Run Code Online (Sandbox Code Playgroud)
此外,我尝试使用fetch然后手动合并/提交它,但是当我使用fetch时,什么也没发生.文件根本没有变化.
我之前使用过git/github,但是从来没有真正在使用分支和从github推/拉的团队中广泛工作.
为什么要git pull拉所有东西,包括新创建的远程分支却不拉git pull origin master?
我正在使用git version 2.9.3.windows.2。
我正在拉一个分支master以合并它.
我正在运行的命令是(在master检出时):git pull origin feature/some_branch
不幸的是,似乎我的同事已经在那里执行了一些(我认为是良性的)文件删除,现在git喷出了一个error: unable to unlink old 'somefile': No such file or directory.
我试图在线查看,但此错误的大多数参考都涉及权限,这不是这里的情况.
在合并之前,主文件中不存在有问题的文件,而它在新分支中.
问题是master在很长一段时间内没有更新,所以有太多的变化和文件影响我开始计算代码.
我只需要master包含来自新分支的所有更改.我们从不master通过合并直接提交任何内容.
到目前为止我尝试过的:
--force参数,同样的问题git reset origin/master --hardpull再次运行同样的问题如何在master不关心此类问题的情况下更新另一个更新的分支机构,同时保留其历史记录?