几个常用的git命令情景
git clone --bare|--mirror|--non-bare /var/www/html/myrepo.git
git add . git commit --amend git push origin master -f
git checkout . && git clean -df
git reset --hard HEAD^ git push -f origin HEAD^:master
git rev-parse HEAD > version.txt
git init && git remote add origin git@项目地址
git branch --set-upstream debug origin/debug
git checkout --track origin/dev-zhengqigit
实用的高级Git命令(10条)
git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^)
它会输出最近提交的修改类容到一个zip文件中。git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
git init
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE
git checkout BRANCH_NAME_HERE
git checkout --orphan NEW_BRANCH_NAME_HERE
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE
git update-index --assume-unchanged PATH_TO_FILE_HERE
git name-rev --name-only COMMIT_HASH_HERE
git pull --rebase
#将某条branch配置为总是使用rebase推送
git config branch.BRANCH_NAME_HERE.rebase true
git cherry -v OTHER_BRANCH_NAME_HERE
#例如: 检测master分支
git cherry -v master
git name-rev --name-only COMMIT_HASH_HERE
关于垃圾回收的 用来备忘
git gc --auto
$ du -hs .git/objects 45M .git/objects
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ****/nohup.out' --prune-empty --tag-name-filter cat -- --all git filter-branch --index-filter 'git rm --cached --ignore-unmatch ****/nohup.out' HEAD git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d