3

When I do a git push, git will do forced updates automatically if necessary, as if I had specified the --force option. I have configured this a long time ago. I don't want this behavior anymore, and can't find what is the configuration variable that affects this behavior. I can't find anything relevant in the .gitconfig or .git/config files.

EDIT: added my current config files:

my .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

local repo config:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = ssh://[email protected]/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

remote repo config:

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

sample run:

~/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://[email protected]/var/git/tw
   26636fd..4247b2e  guile20 -> guile20
 + e80b72f...3578ee1 linux -> linux (forced update)
~/Src/tw %

1 Answer 1

5

From your [remote "origin"] config entry it looks like you've set up a mirroring push. If this is not what you wanted I would get rid of this line entirely. If you are happy with a mirror style push but don't want to force (this doesn't make a lot of sense to me), you want to remove the + prefix from the push line in the [remote "origin"] section of your local repository's config.

Alternatively:

git config --unset remote.origin.push

or:

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

depending on which choice you make.

Sign up to request clarification or add additional context in comments.

1 Comment

That was it. Thanks a lot. I will consider the different options.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.