git init将这个目录修改为git可以管理的仓库git add file_name添加一个文件, 可以同时添加多个文件git add file_1 file_2git commit -m "addxxxxx"提交一个修改git status查看修改状态git diff file_name查看修改内容,可以不跟文件名,直接返回所有的修改内容git diffgit log查看提交日志git log --pretty=oneline提交日志在一行显示git reset版本回退git reset --hard HEAD^回退一个版本git reset --hard 版本号回退到指定版本git reflog查看所有的commit日志,包括回退版本git diff HEAD -- readme.txt查看工作区和版本库中最新版本的区别git checkout -- readme.txt放弃工作区的修改git reset HEAD <file>方式提交的暂存区的修改, 如果要彻底放弃修改还需要git checkout -- <file>放弃工作区的修改git rm <file>删除文件git checkout -- <file>可以直接中版本库中拉下来误删的文件git remote add origin git@github.com:luningcowboy/learnGit.git链接远程仓库git push -u origin master把本地仓库推送到远程仓库git clone <url>将l远程仓库拉取到本地git checkout -b dev创建dev分支,这个命令相当于运行了git branch dev和git checkout devgit checkout master切换到master分支git merge dev合并dev分支到mastergit branch -d dev删除dev分支git branch查看已经有的分支git merge --no-ff -m "merge --no-ff" dev合并分支并禁用Fast forward模式,这样合并的时候会有一个commit,-m后就是合并的日志git stash把当前工作现场储藏起来,等以后回复现场后继续工作.git stash list查看存储的工作列表- 恢复工作现场:
git stash apply恢复,git stash drop删除git stash pop
git stash apply stash@{0}恢复指定的stashgit branch -D <branch-name>分支没合并的时候强行删除分支git remote查看远程仓库的信息git push origin <branch-name>推送本地分支到远程git branch --set-upstream-to=origin/dev dev绑定本地dev分支和远程dev分支git pull下拉最新的远程分支git remote -v查看远程仓库的信息git log --graph --pretty=oneline --abbrev-commit查看版本仓库的log, 有图形git rebase把分叉的提交历史整理成一条直线,看上去更直观,缺点是本地发分支提交已经被修改过了。git tag <version-name>打版本,方便查找回退git tag <version-name> <uid>给指定版本打taggit tag -a v0.1 -m "version 0.1 released" 1094adb创建有说明的taggit tag查看已经有的taggit show <tag-name>查看指定的tag信息git tag -d <tag-name>删除指定taggit push origin <tag-name>推送标签到远程仓库- 从远程仓库删除tag:
- 先从本地删除tag
git tag -d <tag-name> - 从远程仓库删除tag
git push origin :refs/tags/<tag-name>
- 先从本地删除tag
每一次
commit之前都需要先addgit reset既可以回退版本,也可以将暂存区的修改回退到工作区