Git Configuration
Tell git to stop replacing my LFs with CRLFs
Git likes to replace Unix CRLFs with Windows CRLFs, this is really annoying, and is apparently the default now. The following fixes it, but it has to be done in every repository where you want to disable this. The global config file is in ~/.gitconfig
Make the change global (probably what you want for Linux).
Make the change global (probably what you want for Linux).
$ git config --global core.autocrlf inputPer repository changes.
$ git config core.autocrlf # check the existing value of autocrlf
true
$ git config core.autocrlf false # change it to false
$ git config <--global> --list # Show config settings $ git config <--global> -e # Edit config settings
Retrieve previous revision of a file
First determine the revision you are interested in:
git rev-list -n num_results HEAD -- file
Retrieve the file associated with the revision:
git show revision:file
Example:$ git rev-list -n 1 HEAD -- image.png299cf09892f7af2f9433782bb14a096547f6d9aa$ git show 299cf09892f7af2f9433782bb14a096547f6d9aa:./image.png > temp.png
Discard local changes
DANGER!!! I did this, and despite the option file name, it discarded ALL changes made! F#$@$@
$ git checkout HEAD <optional file name>
$ git checkout .
Show the remote URL
git remote -vShow the remote URL with lots of additional info (requires ability to login to remote site)
git remote show origin
Change remote URL
git remote set-url origin git@GIT_HUB_LAB_etc.com:USERNAME/REPO.gitCopy a file from other_branch to the current branch
git checkout other_branch probstmt.tex
Merge branch_x into current branch
git merge branch_x
Copy an branch over another without merging (for the most part)
git rebase branch_x
Several ways to show all files ever deleted from a project
git log --diff-filter=D --summary
git log --diff-filter=D --summary | grep delete
git log --all --pretty=format: --name-only --diff-filter=D | sort -u
To see files that have been deleted in the working copy
git ls-files --deleted
Restore deleted files (from a previous post)
Find the last commit that affected the given path. As the file isn't in the HEAD commit, this commit must have deleted it.git rev-list -n 1 HEAD -- <file_path>
Then checkout the version at the commit before.git checkout <deleting_commit> -- <file_path or name>
Or in one command, if$file
is the file in question.git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file"
No comments:
Post a Comment