GIT之git常用配置和操作

来源:互联网 发布:摄像头软件有哪些 编辑:程序博客网 时间:2024/05/18 01:35
=======mysysgit 配置 /etc/gitconfig
[gui]
encoding = utf-8
[i18n]
commitencoding = utf-8
logoutputencoding = gbk
[user]
name = xingqisheng
email = xingqisheng@vidmt.com
[alias]
co = checkout
br = branch
st = status
cm = commit
===============


git ls-files --deleted | xargs git rm 删除所有已经被删除的文件
git config --global core.quotepath false 解决git文件名乱码的问题
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE  从其他分支获取文件,而不用切换分支

git format-patch -M origin/master 当前分支与master分支比较生成patch文件,并且检测文件重命名情况
git apply *.patch 把通过diff命令生成的patch打补丁到文件上
git am -3 *.aptch 把通过git format-patch生成的patch打补丁到源文件上

git rm --cached \*.tmp 按照git正则扩展解释,递归在索引中删除.tmp文件。如果没有\则按照shell解释,不递归,在删除某些临时文件夹后,运行此命令,去掉多个文件索引。

git merge-base br1 br2常看两个分支的共同祖先
git blame  -C test.txt 查看test.txt中每一行的最后添加时间,-C标记最早是从哪个文件复制过来的。

git log --pretty=oneline -- git.tbz2 查看所有有关git.tbz2文件修改的提交记录
git log master..experiment 查看experiment上有而master分支上没有的提交,如果一方留空,自动用HEAD替代
git log ^master experiment同上
git log experiment ---not master同上
git log --left-right master...experiment 查看不被master和experiment同时包含的提交,并且知名哪个提交属于哪个分支

git log -g master 查看master分支的log,并显示每次提交的reflog

git shortlog --not <commit> 统计commit之后的每个人员的提交信息作为简报

git merge exp 当把exp分支并入当前分支上。并生成新的提交点。
git rebase exp 把exp分支并入当前分支上。当前分支的提交作为最新提交
git cherry-pick exp 把exp分支并入当前分支上。exp分支作为最新提交,并且是复制一份新的提交点


git stash 把当前的未commit操作隐藏起来,便于临时切换分支
git stash list 列出所有的隐藏
git stash apply --index 应用某个隐藏,默认为最新隐藏,如果无--index则所有内容都为修改未暂存状态
git stash drop 删除某个隐藏
git stash clear 删除所有隐藏
git stash pop 应用某个隐藏并删除

git diff --name-only xxx..xxx  列出xxx到xxx之间修改过的所有文件名字
git checkout --orphan NEW_BRANCH_NAME_HERE    启动一个新的分支,同时想摒弃历史信息.
0 0