git init --git仓库初始化 git add filename --添加文件,可多次添加 git commit -m 'message' --提交并添加注释信息 git status --查看文件的当前状态 git diff filename --查看都修改了那些信息 git log -- 查看历史记录 git log --pretty=oneline --查看commit id HEAD --当前版本 HEAD^ --上一个版本 HEAD^^ --上上一个版本 HEAD~100 --上100个版本 git reset --hard HEAD^ --回退到上一个版本 git reset --hard commitid --ommitid回到未来的某个版本 git reflog --查看提交的commitid回到未来的某个版本 工作区--->add--->暂存区--->commit--->分支 git diff HEAD -- filename --查看工作区和版本库里最新版本的区别 git checkout -- filename --将工作区的内容修改为最近一次git commit或git add 前的内容 git reset HEAD file --已经提交到暂存区,恢复到分支最新状态 git rm file git commit -m 'message' --删除文件(两步) 远程仓库相关 git remote add origin git@server-name:path/repo-name.git git remote add origin git@github.com:aaafenghao/learngit.git --关联远程仓库 git push -u origin master --关联后第一次推送master分支所有内容 git put origin master --推送最新修改 git clone url --仓库项目下载 分支管理 git checkout -b dev --创建dev分支并切换 git branch dev git checkout dev git branch --查看当前分支 git merge dev --合并指定分支到当前分支 git branch -d dev --删除指定分支 解决冲突 合并是出现冲突的文件,使用git status查看 git log --graph --pretty=oneline --abbrev-commit git merge --no-ff -m 'mess' dev --禁用Fast forward模式 BUg分支 git stash --存储当前工作现场 git stash list --查看存储的工作现场 git stash apply --恢复工作现场但是不删除 git stash drop --删除 git stash pop --恢复现场且删除 feature分支 git branch -D dev --强制删除没有合并的分支 多人协作 git remote --查看远程库信息 git remote -v --显示更详细的信息 git push origin master --推送分支 git push origin dev --推送分支 git pull --抓取远程的新提交 git checkout -b branch-name origin/branch-name --本地建立和远程分支对应的分支 git branch --set-upstream branch-name origin/branch-name --建立本地分支和远程分支的关联 rebase操作可以把本地未push的分叉提交历史整理成直线; rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比 git tag v1.0 --在当前版本打一个标签 git tag --查看所有的标签 git tag v0.9 commitid --在某个提交id上打标签 git show tagname --查看标签的信息 git tag -a tagname -m 'message' commitid --指定名称和说明 git tag -d tagname --删除标签 git push origin v1.0 --远程推送某个标签 git push origin --tags --推送所有没有推送到远程的标签 远程删除标签 先删除本地标签 在删除远程仓库标签 git push origin :ref/tags/v0.9