站在巨人的肩膀上
工具推荐
常用命令
git init –bare 创建初始化仓库,加–bare,可以避免后期出现“Out of memory? mmap failed: No such file or directory”错误。(远端仓库最好加bare可以避免push,add冲突)具体原因见:
git init 与git init –bare区别分支管理
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
暂存区
保存暂存区:
git stash
恢复暂存区:
1.git stash apply恢复,恢复后,stash内容并不删除,你需要使用命令git stash drop来删除。
2.另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。
log信息(Reference Info)
git log - -stat:修改的文档信息
git log - -pretty=oneline:单行显示简略信息
git log -p -2:-p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交
git log - -pretty=format:”%h - %an, %ar : %s”- 放弃本地修改
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset –hard HASH #返回到某个节点,不保留修改。
git reset –soft HASH #返回到某个节点。保留修改
- Others
git commit -am “infor”:提交所有暂存的信息,并添加描述信息等同于 git add ,git commit(注意不会提交Untrack file,即新添加的文件)
git commit - -amend:修改提交信息
git push origin master:推送到远程仓库 master分支
git pull: 提取远程分支信息到本地,等同于 git fetch ,git merge,一般问安全考虑,最好使用git fetch 看一下更新的信息。
git revert 是撤销某次操作,此次操作之前的commit都会被保留
git reset - -soft(默认) HEAD^:上次提交(已提交内容,退到暂存区)
git reset - -hard HEAD~100:回退到倒数第一百次提交
git reset - -hard HEAD^:上次提交
git reset - -hard HEAD^^:上上次提交
git reflog:查看所有的包括已回退的提交信息。
git reset - -hard 6fcfc89:根据上个命令查到的提交号,回到最新提交
git checkout - -b.txt:恢复删除未提交的文档
git config –global credential.helper store : 保存用户名密码
git branch –set-upstream debug origin/debug :关联远端分支
Git常见问题
中文乱码
HTTP下记住密码
git config –global credential.helper store
Reference