git commit -m “提交日志”
git comnit -m "V1.05 "
git checkout 需要恢复的文件
git checkout test.sh
git diff 差异文件
git diff test.sh
git status
git status .
git status -uno 不显示没有追踪的文件
git branch 查看本地分支
git branch -a 查看 本地+远程 分支
git checkout -b 分支名 指向的远程分支
git checkout -b smart origin/smart
git checkout -t 远程分支
创建指向远程分支的本地分支,本地分支和远程分支同名
git branch -D master //删除目标分支
git checkout -b branchname commitid //切换到指定分支指定 commit ID
git show commitID --name-status(只显示文件名)
git show xxxxxx --name-status
git show commitID 指定文件
git show xxxxx device/xxxx/xxxx/init.rc
git log --grep=“检索标签” --oneline(单行显示)
git log --grep=XXXX --oneline
git commit --amend
git commit --amend --author= xxx
修改最近提交并修改提交作者
git config –global core.editor vim
git cherry-pick 能够把另一个分支的一个或多个提交复制到当前分支
git cherry-pick 6278dfc006c37fe48433528446cf69f59d3b668f
git cherry-pick --abort 撤销cherry-pick操作
git reset cimmitID 撤销对应提交的版本,但不会撤销本地修改
git reset xxxxxxxx
git reset HEAD^
撤销最新的提交版本,改动内容会保留在本地
git reset --soft HEAD^
不删除工作空间的改动代码 ,撤销commit,不撤销git add file
git reset --hard HEAD^
删除工作空间的改动代码,撤销commit且撤销add
git reset xxxxxx --hard
撤销指定ID之前所以的对策
git push origin smart_output
git push -u origin smart_output
推送本地分支(远程没有分支则新建)
git push origin ljz:ljz
git pull origin 远程分支名
git push origin “tag信息”
git tag 'tag信息’ 当前HEAD打tag
git tag ‘tag info’ commitID 指定commitID打tag
git log
git log --pretty=format:“%an %h %cd %s” 可以使用不同于默认格式的方式展示提交历史
%H 提交的完整哈希值
%h 提交的简写哈希值
%T 树的完整哈希值
%t 树的简写哈希值
%P 父提交的完整哈希值
%p 父提交的简写哈希值
%an 作者名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 --date=选项 来定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期(距今多长时间)
%s 提交说明
git log --patch /-p 显示每次提交所引入的差异(按 补丁 的格式输出)
git log --graph 显示分支的合并历史
git fetch origin/xxx
git format-patch 8d94e86…c724ddc --output-directory xxxx
打包8d94e86(包含)和c724ddc(不包含)之间的修改补丁,到xxxx目录下
方法一:git am xxxx
git am test.patch 应用test补丁
git am test.patch --whitespace=fix 应用test补丁(空格修复)
git am testDir/* (应用testDir中的所以补丁)
git am testDir/* --whitespace=fix //--whitespace=fix 空格修复
方法二:git apply test.patch
git apply --stat patchfile 检查patch文件格式
git apply --check patchfile 测试patch是否能应用到当前分支
git apply patchfile 应用此patch
git clean -f 文件名 强制删除文件
git checkout test.java --theirs 保留其他版本(删除本地的修改)
git checkouttest.java --ours 保留本地的版本 (删除冲突的版本修改)
git merge origin/xxx 合并xxx分支到目前分支
git stash 保存
git stash pop 恢复临时的保存
git blame + 路径 查看对应文件的修改记录
git add 需要添加的文件
git add -u 添加全部已追踪的修改文件
git rebase -i commitID
git rebase -i 718ccf1f2fe5b985190a46a9bffda3e3ada6c9b1
重定义对策718ccf1 和HEAD之间的对策
git commit --amend
git commit --amend --no-edit
git rebase --continue
git am test_xxx.patch --whitespace=fix
git remote -v
git branch -a --contains commitID
git reflog