这两天工作之余,自学了下Git,感觉挺好用的,做个小记录,方便查找!
(Git是一款免费、开源的分布式版本控制系统)
git branch 查看本地所有分支
git status 查看当前状态
git branch -a 查看所有的分支(包括本地、远程)
git branch -r 查看远程所有分支
git add readme.txt 添加readme.txt到仓库中
git commit -a "xxx" 提交并且加注释 xxx到仓库中
git diff 此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异,也就是修改之后还没有暂存起来的变化内容
git log 查看提交历史记录
git reset --hard HEAD^ 回退到上一版本(HEAD表示当前版本,HEAD^表示上一版本,HEAD~100表示往上100个版本
git reset --hard 3628164 回退到指定版本号的某个版本
git reflog 查看你的每一次命令
git checkout --file 丢弃工作区的修改,让某个文件回到最近一次git commit或git add时的状态
git reset HEAD file 把暂存区的修改撤销掉
git rm file 删除某个文件
git remote add origin git@github.com:XXX/XXX.git 添加远程仓库地址
git push -u origin master 第一次推送master分支的所有内容
git clone git@github.com:XXX/XXX.git 从远程库克隆一个本地库
git push origin master 将本地文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git checkout dev 切换到本地dev分支
git checkout -b git checkout dev 切换到本地dev分支dev 建立一个新的本地分支dev并切换
git merge dev 命令用于合并指定分支到当前分支dev
git merge --no-ff -m "XXXX" dev 合并分支并添加commit描述XXXX,使用--no-ff参数后,会执行正常合并,能看出合并记录,fast forward合并就看不出来,默认情况下,Git执行"快进式合并"(fast-farward merge)
git branch -d dev 删除分支dev
git log --graph --pretty=oneline --abbrev-commit 查看分支合并图
git stash 保存当前工作进度
git stash list 查看工作进度列表
git stash apply 恢复暂存的内容
git stash drop 删除暂存区
git stash pop 恢复的同时把stash内容也删了
git branch -d dev 删除分支dev
git branch -D dev 强制删除分支dev (未被合并的分支被删除的时候需要强制)
git checkout dev 切换到本地dev分支
git remote -v 查看远程库信息
git branch --set-upstream dev origin/dev 创建本地分支dev和远程分支dev的链接关系
git pull 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git tag <name> 打一个新标签 默认为HEAD,也可以指定一个commit id
git tag 查看所有标签
git show <tagname> 查看标签信息
git push origin <tagname> 推送某个标签到远程库
git push origin --tags 可以推送全部未推送过的本地标签
git tag -d <tagname> 可以删除一个本地标签
git push origin :refs/tags/<tagname>可以删除一个远程标签