标签: git-commit

git:为什么"合并分支'掌握'......"?当拉和推

我还是git新手.我修改了一些源文件并提交了.然后,我做到了git push.但是,我收到了这个错误.

To /foo/bar/  ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '/foo/bar/' To prevent you from
losing history, non-fast-forward updates were rejected Merge the
remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

这似乎拒绝,我也没有git pull之前push.所以,我做到了git pull.好的,其他人有两个修改过的文件.

然后,我 git push成功了.

问题:在这种情况下,我会看到一个更多的日志,如下面的原始提交消息:

commit 59e04ce13b8afa...
Merge: 64240ba 76008a5
Author: Jone Doe <jone@doe.com>
Date:   Fri Mar 15 11:08:55 2013 -0700 …
Run Code Online (Sandbox Code Playgroud)

git git-pull git-push git-commit

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

什么流导致Github提交由一个用户"创作"但由另一个用户"提交"?

例如,这次提交声称要由创作mattcaswell并致力于richsalz

在此输入图像描述

什么样的使用流程可能导致这个?假设我想要一个由其他人创作并由我承诺出现在我是贡献者的回购中的提交 - 我怎么会这样做?

commit github git-commit

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

Mac上的Git Hub Desktop,错误:无法运行gpg:没有这样的文件或目录

尝试使用GitHub Desktop提交我的更改并获取此信息:

在此输入图像描述

错误:无法运行gpg:没有这样的文件或目录

错误:无法运行gpg.

致命:未能写入提交对象(128)

首先,这也不适用于终端,我创建了gpg-key并插入我的GitHub帐户现在它在终端中运行良好但桌面版仍然无效.

在GitHub桌面的官方文档中,我发现了一些符号:

注意:GitHub Desktop不支持GPG签名.

macos github git-commit github-for-mac

28
推荐指数
3
解决办法
8531
查看次数

SVN是否具有与git的提交相同的功能(没有推送)?

基本上我想在没有推动它们而不切换分支的情况下进行我的更改.这允许我做一些工作,commit当我处于一个良好的停止点,然后继续在同一分支工作.如果我陷入困境,我可以revert,如果我添加新的更改,我可以commit再次.

我意识到我可以在SVN中创建一个功能分支来跟踪这些变化,但同样,我希望在保持同一分支/主干的同时这样做.即使相当于git stash已经足够了,虽然看起来SVN没有那个功能.

svn git git-commit

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

IntelliJ IDEA - 在git log中作者姓名后的星号

在我们的git日志中,我们有时会在Author列中的用户名后面看到一个星号.在其他提交中列出的同一用户没有星号.

星号代表什么?

我正在使用IntelliJ IDEA 15.0.6.

jetbrains-ide intellij-idea git-commit

27
推荐指数
2
解决办法
3815
查看次数

跟踪被忽略目录中的文件

前段时间我将.gitignore文件设置为跟踪文件夹my_folder:

my_folder/
Run Code Online (Sandbox Code Playgroud)

现在我想只跟踪所述文件夹中的给定文件,名为my_file.md.制作后.gitignore是这样的:

my_folder/
!my_folder/my_file.md
Run Code Online (Sandbox Code Playgroud)

并检查:

git status
Run Code Online (Sandbox Code Playgroud)

该文件不会显示为要提交的更改.

我究竟做错了什么?


我尝试将.gitignore文件更改为:

my_folder/*
!my_folder/my_file.md
Run Code Online (Sandbox Code Playgroud)

正如所建议的那样,但是文件仍未显示为提交后的提交更改git status.我需要重置一些东西吗?


加2

尝试使用git add my_folder/my_file.md返回添加文件:

The following paths are ignored by one of your .gitignore files:
my_folder/my_file.md
Use -f if you really want to add them.
fatal: no files added
Run Code Online (Sandbox Code Playgroud)

该命令git check-ignore -v my_folder/my_file.md给出:

.gitignore:1:my_folder/*    my_folder/my_file.md
Run Code Online (Sandbox Code Playgroud)

git git-commit

25
推荐指数
3
解决办法
9061
查看次数

Git提交不会覆盖git blame中的原始作者

我使用perl脚本修改php git存储库中的所有制表符并将它们全部更改为4个空格.

$ find -iname \*.php -exec perl -pi -e "s/\t/    /g" {} \
Run Code Online (Sandbox Code Playgroud)

我可以提交这个更改git commit,但它会在我提交之后将我标记为内部所有更改行的作者git blame.

有没有办法实现这个大规模的改变,不会让我成为改变行的作者,但保留原作者?这是我们在项目中并不想丢失的很多历史.

我们用4个空格替换制表符的目的不是为了使git责备中的东西看起来不同,而是遵循适当的PEAR编码标准.例如没有标签,使用4个空格进行缩进.

git git-commit git-blame

24
推荐指数
2
解决办法
4840
查看次数

Git - 从历史记录中删除提交

我做了一件非常愚蠢的事.我在代码中输入了一个curseword,然后将代码推送到master分支上.之后我又推了几次,所以人们不会把坏东西拉出来,但我仍然可以在提交历史中找到这个诅咒词.

有没有办法从历史记录中删除提交?编辑:我不想将文件添加到gitignore,因为我们需要该文件.

谢谢

git git-commit

23
推荐指数
4
解决办法
9780
查看次数

如何为所有开发人员配置 git hooks

我想在全球范围内应用一致的提交消息规则,以便所有开发人员在提交消息中遇到 jira 问题。

使用企业github。

经发现,可以使用.git/hooks/commit-msg相应更新的文件来实现。

问题:如何应用此更新的 git hooks 以供所有开发人员使用。我没有看到 上出现任何变化git status。不确定是否必须配置不同的方式,因此,commit-msg constrain将适用于所有开发人员而不是本地开发人员。你能指导一下吗?

git github githooks git-commit gitlab

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

删除git中的空提交

我刚刚将一个项目从Mercurial迁移到Git.当你添加标签时,Mercurial会添加空提交,所以我最终在Git中提交了我要删除的空提交.

如何从Git中删除空提交(其中没有任何文件的提交)?

谢谢.

git version-control git-commit

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