名词解释

HEAD 表示当前版本
HEAD^ 表示上一个版本
HEAD^^ 上上一个版本
HEAD~100 上100个版本
git reset –hard HEAD^ 丢弃当前版本返回上一个版本 –soft 是将修改放回本地退回到commit之前的状态
git reset –hard 1800eea57cf37 恢复到 后面版本号指定的版本
git reflog 查看使用过的所有的指令
git diff HEAD — readme.md 命令可以查看工作区和版本库里面最新版本的区别:

git checkout — readme.md 没有add的时候丢弃工作区中的改动
git reset HEAD readme.txt add,但是没有commit的时候丢弃改动
git rm test.txt 确实要将 文件从git管理中删除
git checkout — test.txt 删错文件 恢复

git remote add origin git@github.com:michaelliao/learngit.git 关联远程仓库
git push -u origin master 推送远程仓库 且进行本地mater关联远程master
git push origin master 推送远程

git checkout -b dev 切换到新分支 -b 表示创建并切换
git branch dev 创建分支
git checkout dev 切换分支
git branch 查看当前分支
git merge dev 将dev分支合并到当前分支
git branch -d dev 删除分支

git switch -c dev 切换分支 和 checkout相同
git log –graph –pretty=oneline –abbrev-commit 查看分支的合并情况:
git merge –no-ff -m “merge with no-ff” dev merge的时候禁用FF合并,因为FF合并可能会丢失分支指针
git stash 暂时贮藏
git stash list 查看之前贮藏的东西在哪里
git stash apply 恢复但是不会删除 stash中的东西
git stash pop 恢复同时删除
git stash drop 删除stash
git cherry-pick 4c805e2 将其他分支提交的4c805e2修改同步到当前分支
git branch -D feature-vulcan 强制删除分支

git checkout -b dev origin/dev 创建和远程对应的分支
git branch –set-upstream-to=origin/dev dev 制定本地分支和远程分支相关联?? git pull 失败的使用使用

git rebase -i 将多个提交合并成一个提交

git pull –rebase 和pull 产生的merge 类似 只不过是移动了一下顺序变成了一道直线
git tag v1.0 打标签
git tag v0.9 f52c633 对应提交打标签
git tag -a v0.1 -m “version 0.1 released” 1094adb 制定标签说明
git push origin v1.0 将本地的标签推送到远程
git remote rm origin 删除origin的关联
git check-ignore -v App.class 检查规则文件
git add -f App.class 强制添加文件
git config –global alias.st status 配置别名
git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset
-%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit” 配置显示

git commit –amend 实现本次提交和上次提交进行简单合并的操作
git commit -a 加了-a,在 commit 的时候,能帮你省一步 git add ,但也只是对修改和删除文件有效, 新文件还是要 git add,不然就是 UNtracked !

https://github.com/github/gitignore 所有的gitignore

TIPS

分支可以在自己本地藏着玩 不一定要进行推送
对于一个bug可以先git stash 保存手头上的工作,切换分支到新的分支,然后git commit 所有的提交,最后切换回主分支,后和git merge 分支

核心概念

Git管理的是修改

合并多个分支

比较适合本地还未提交的 已经提交的未经过测试 效果类似与 git commit –amend
git rebase -i

将要变为合并的分支 将pick 改为 s 一般第一个还是pick 后面的改成 s 然后生成 一个类似commit的界面重新撰写注释

git 文件过大进行删除

git clone git@github.com:jfinal/jfinal.git
git filter-branch –tree-filter ‘rm -f WebRoot/WEB-INF/lib/*.jar’ –tag-name-filter cat — –all
git push origin –tags –force
git push origin –all –force

参考链接

https://www.liaoxuefeng.com/wiki/896043488029600/900062620154944 和平时一些收集网页

原文地址:http://www.cnblogs.com/eat-too-much/p/16885509.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性