3

当我执行 agit push时,git 会在必要时自动执行强制更新,就好像我已经指定了--force选项一样。我很久以前就配置了这个。我不再想要这种行为,也找不到影响这种行为的配置变量。.gitconfig我在or.git/config文件中找不到任何相关内容。

编辑:添加了我当前的配置文件:

我的 .gitconfig:

[user]
    name = xxxx xxxx
    email = xxxx
[core]
    excludesfile = /Users/xxxx/.gitignore_global
[difftool "sourcetree"]
    cmd = opendiff \"$LOCAL\" \"$REMOTE\"
    path = 
[mergetool "sourcetree"]
    cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
    trustExitCode = true

本地仓库配置:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = ssh://xxxx@xxxx.com/var/git/tw
    fetch = +refs/heads/*:refs/remotes/origin/*
    push = +refs/heads/*:refs/heads/*
[remote "AudioCopy"]
    url = /Users/xxxx/Src/AudioCopy/myacp
    fetch = +refs/heads/*:refs/remotes/AudioCopy/*
[submodule "Sources/iPhoneInterface/SoundCloud/CocoaSoundCloudAPI"]
    url = git://github.com/soundcloud/CocoaSoundCloudAPI.git
[submodule "Sources/iPhoneInterface/SoundCloud/CocoaSoundCloudUI"]
    url = git://github.com/soundcloud/CocoaSoundCloudUI.git
[submodule "Sources/iPhoneInterface/SoundCloud/JSONKit"]
    url = git://github.com/nxtbgthng/JSONKit.git
[submodule "Sources/iPhoneInterface/SoundCloud/OAuth2Client"]
    url = git://github.com/nxtbgthng/OAuth2Client.git
[submodule "Sources/iPhoneInterface/SoundCloud/OHAttributedLabel"]
    url = git://github.com/nxtbgthng/OHAttributedLabel.git
[branch "linux"]
    remote = origin
    merge = refs/heads/linux

远程仓库配置:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = true

样品运行:

~/Src/tw % git push
Counting objects: 7, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 394 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To ssh://xxxx@xxxx.com/var/git/tw
   26636fd..4247b2e  guile20 -> guile20
 + e80b72f...3578ee1 linux -> linux (forced update)
~/Src/tw %
4

1 回答 1

5

从您的[remote "origin"]配置条目看来,您已经设置了镜像推送。如果这不是你想要的,我会完全摆脱这条线。如果您对镜像样式推送感到满意但不想强制(这对我来说没有多大意义),您希望从本地存储库配置部分+的推送行中删除前缀。[remote "origin"]

或者:

git config --unset remote.origin.push

或者:

git config remote.origin.push 'refs/heads/*:refs/heads/*'

取决于您做出的选择。

于 2012-06-04T13:31:14.733 回答