git init (把这个目录变成Git可以管理的仓库)
git add 文件 (把文件添加到仓库)
git commit -m "提示" (提交之前的操作)
git log (--pretty=oneline) --- 显示从最近到最远的提交日志
git reset --hard HEAD^ ---(回退上一版本) HEAD^^上上 版本 HEAD~100回退100版本(工作区状态会回退)
git reset --hard(commitid) 回退到某一次提交状态
git reflog 查看提交命令的log
git status 查看 git 缓存区状态
git checkout -- 文件回到最近一次commit 或者add的状态(有错?也有git rm 的状态)(好像是head + 缓存操作)
git reset HEAD 文件 撤回缓存区的操作
git rm 文件 删除仓库中的文件
git remote add origin 地址 关联远程git
git push -u origin master 第一次推送master分支的所有内容;(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
git push origin master 推送最新修改
git clone 远程地址 克隆远程仓库
git branch dev 创建分支
git branch -d dev 删除分支
git checkout dev 切换分支(更新工作区状态到切换分支的工作区状态)(从当前分支最近commit切换过去所以需保证缓存区为干净状态,工作区和最近一次commit内容一致不然切换不成功需要使用git stash 保存所有不一致,以供切换回来使用)
git checkout -b dev 创建并且切换分支
git branch 查看当前所有分支
git merge dev 合并指定分支到当前分支
git log --graph 可以看到分支合并图
git merge --no-ff -m"merge with no-ff" dev 请注意--no-ff参数,表示禁用Fast forward:因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
git stash 以把当前工作现场“储藏”起来,等以后恢复现场后继续工作(工作区会变道最近一次commit状态)
git stash list 查看stash 列表
git stash apply stash@{} 回复对应的状态 stash内容并不删除
git stash drop 删除 stash
git stash pop 恢复stash 转台的同时把stash内容也删了
git branch - d 删除分支
git branch - D 删除没有合并的分支
git push 向远程推送(当前分支)
git push 远程名 分支 向远程推送分支
git checkout -b dev origin/dev 把远程dev 分支checkout到本地dev
git branch --set-upstream-to=origin/分支 分支 连接 本地分支到远程分支
git pull 拉取远程分支(当前分支)
git tag 查看标签
git tag
git show
git tag -d v0.1 删除标签
git push 远程名
git pull --allow-unrelated-histories 允许无关联的pull