Using `--force-with-lease` allows one to force push without the risk of unintentionally overwriting someone else's work. The git-push(1) man page states: > Usually, "git push" refuses to update a remote ref that is not an > ancestor of the local ref used to overwrite it. > > This option overrides this restriction if the current value of the > remote ref is the expected value. "git push" fails otherwise. > > --force-with-lease alone, without specifying the details, will protect > all remote refs that are going to be updated by requiring their > current value to be the same as the remote-tracking branch we have for > them. > > --@calleerlandsson > -- https://github.com/thoughtbot/guides/pull/363
27 lines
592 B
Text
27 lines
592 B
Text
[init]
|
|
templatedir = ~/.git_template
|
|
[push]
|
|
default = current
|
|
[color]
|
|
ui = auto
|
|
[alias]
|
|
aa = add --all
|
|
ap = add --patch
|
|
branches = for-each-ref --sort=-committerdate --format=\"%(color:blue)%(authordate:relative)\t%(color:red)%(authorname)\t%(color:white)%(color:bold)%(refname:short)\" refs/remotes
|
|
ci = commit -v
|
|
co = checkout
|
|
pf = push --force-with-lease
|
|
st = status
|
|
[core]
|
|
excludesfile = ~/.gitignore
|
|
autocrlf = input
|
|
[merge]
|
|
ff = only
|
|
[commit]
|
|
template = ~/.gitmessage
|
|
[fetch]
|
|
prune = true
|
|
[rebase]
|
|
autosquash = true
|
|
[include]
|
|
path = ~/.gitconfig.local
|