# git-point — set arbitrary refs without shooting yourself in the foot, a porcelain `git update-ref` ``` Usage: git-point [OPTIONS] Arguments: ref to update revision to point to Options: -n, --new create a new ref of instead of updating an existing one Possible values: - tag: New lightweight tag in refs/tags/ - branch: New branch refs/heads/ - remote-branch: refs/remotes/ (e.g. refs/remotes/origin/main) - raw: No prefix, interpreted literally (like update-ref, be careful!) -W, --allow-worktree Allow mutating checked out refs. Note that this will *not* change any of the actual files in the worktree ``` git-point is a [porcelain](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain) alternative to `git update-ref`, which is [easy](https://stackoverflow.com/a/36008283/4231588) to misuse, makes no distinction between updating and creating refs, checked out refs versus not, and logs nothing. git-point: * always either requires the `` argument to resolve to exactly one unambiguous and existing ref, or for you to intentionally specify creation with `--new` * always fully resolves the `` argument to exactly one unambiguous and existing commit