一、命令
git checkout -b 分支名 //创建分支并切换到该分支
git checkout 分支名 //切换到该分支
git merge 分支名 //把分支合并到当前分支
git branch -d 分支名 //删除该分支
git branch -D 分支名 //强制删除该分支
git log|head //最近一次记录
git log --pretty=oneline //以列表的形式列出所有提交记录
git reset //撤销git add 之后 git commit之前的操作
git add -A //所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库
git show commit的值 //显示修改信息
git commit --amend //修改commit注释;回车进入后类似vi
git gc //压缩,节约磁盘空间
git fsck //检测仓库的一致性
git config --global --unset uer.email //删除
git remote add origin <server> //没有克隆现有仓库,添加到远程仓库
git push origin --delete <branchName> //删除远程分支
git reset --hard <commit>的值 //彻底回退到某个版本
git log --pretty=oneline 文件名 //文件修改历史
git stash //把当前工作区储藏起来
git stash list //查看储藏的工作区
git stash pop //恢复并删除第一个储藏区
git stash pop stash@{1} //恢复并删除第二个储藏区
git stash clear //清除所以储藏区
git stash drop stash@{1} //删除指定
git log -Sget_info --oneline //查看这个关键字的变动信息
git reflog //查看log
git push origin --delete <branchName> //删除远程分支
git fetch -p //同步远程分支
git branch --contains=abcdefeafeafe //查看commit在哪个分支提交的
git log -p //显示变更差异
git log --after="today" // 查看今天的提交 可填yesterday、10 day ago、1 week ago、2 month ago
git log --before="today"
git log --grep="修复" //根据日志信息过滤
git log -i --grep="ISSUE" //忽略大小写
git branch -r --contains COMMIT_ID //查看commit id在哪个分支
二、.gitignore文件
*.js //忽略所有.js文件
/*.js //只忽略根下的.js文件
三、命令略解
在git提交环节,存在三大部分:working tree, index file, commit
这三大部分中:
working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。
①git diff
git diff:是查看working tree与index file的差别的。
git diff --cached:是查看index file与commit的差别的。
git diff HEAD:是查看working tree和commit的差别的。
git diff filename:是查看具体文件和上次版本的差别。
$ git diff ectemplates_class.php diff --git a/public/ectemplates/ectemplates_class.php b/public/ectemplates/ectem index db83579..8fe8090 100644 --- a/public/ectemplates/ectemplates_class.php +++ b/public/ectemplates/ectemplates_class.php @@ -420,7 +420,8 @@ class Ectemplates { if ($this->isdbo == 1) { return $out; } - $prostr = "14&]W97)E9"!B>2!%4U!#35,`"; + //$prostr = "14&]W97)E9"!B>2!%4U!#35,`"; + $prostr = ''; $outtitle = convert_uudecode($prostr); if (!empty($this->codesoftdb) && admin_FROM) { $key_array = explode('/', $this->codesoftdb); (END)
git remote add origin <server> //更改git远程仓库地址
git fsck --lost-found //检查丢失的提交
git reflog //检查丢失的提交
git cherry-pick [commit_hash] //把一个commit合到另一个分支
git diff 1.2.2 1.2.3 --name-only | xargs zip update.zip //打包差异
git push origin --delete tag <tagname> //删除远程tag
git log --pretty="*# %s(%H)" 1.0.9..1.1.0 //两个tag之间的commit