diff --git a/.gitconfig b/.gitconfig
index 9369931ff5e372878192b049bf84fc9742697238..94109d68b3e27deb4a18d3866f7f3b3759dd5c71 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -6,11 +6,11 @@
     empty-commit = commit --allow-empty
 	exec = "!exec "
     ff = merge --no-edit --ff-only master
-    forget = reset HEAD~1
+    forget = reset HEAD^
     merg = merge --no-edit
     posh = push --set-upstream origin HEAD
     pul = pull --progress
-    pull-force = !git fetch && git reset --hard "$(git rev-parse --abbrev-ref --symbolic-full-name @{u})"
+    pull-force = !git fetch && git reset --hard "$(git tracking)"
     push-force = push --force-with-lease
     root = rev-parse --show-toplevel
     serve-git = daemon --reuseaddr --verbose --base-path=. --export-all ./.git
@@ -18,6 +18,7 @@
     staash = stash --all
     stat = status --short --branch
     tag-version = !git tag -f "v$(cat VERSION)"
+    tracking = rev-parse --abbrev-ref --symbolic-full-name @{upstream}
     trigger = !git commit --allow-empty --no-edit --amend && git push --force-with-lease
 [color]
     grep = true