分布式版本控制器GIT
客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来
git的回滚速度很快
- 配置git
- 用户名 $git config --global user.name "username"
- 邮箱 $git config --global user.email a@qq.com
- 检查配置项 $git config --list
- 初始化git仓库
- 在当前文件夹执行$git init
- 基础linux命令
- clear: 清除屏幕
- echo "test" 在命令行输出test
- echo "test">test.txt 放到test.txt文件当中,没有则新建
- ll/ls 查看文件夹下的目录和文件
- find 目录名 将对应目录下的子孙文件和子孙目录展示
- find 目录名 -type f 只展示子孙文件
- rm 文件名 删除文件
- mv 原文件名 新文件名 文件重命名
- cat 查看文件
- vim 编辑文件 :set nu设置行号
- 将修改的文件提交到暂存区 $git add filename/文件夹
- 查看暂存区 $git ls-files -s
- 将暂存区的项目提交到版本库 $git commit -m "写注释"
- 常用命令
- 检查当前文件状态 $git status
- 当前做的哪些更新还没有被暂存 $git diff
- 当前哪些更新已经暂存起来准备好了下次提交 $git diff-cached
- 在提交时想输入大量注释 $git commit 在#之前写注释
- 将修改的文件直接提交到版本库跳过使用暂存区 $git commit -a -m ""
- 查看历史提交记录 $git log
- 将历史记录的每条信息排成一行 $git log --pretty=oneline 或者--oneline
- 在git中删除文件 $git rm filename
- 在git中重命名 $git mv 原文件名 新文件名
- 分支操作
- 创建分支 $git branch 分支名
- 切换分支 $git checkout 分支名
- 创建分支并切换过去 $git checkout -b 分支名
- 显示分支列表 $git branch
- 删除分支 切换到主分支$git branch -D 分支名
- 查看每一个分支的最新提交 $git branch -v
- 新建一个分支并且使分支指向对应的提交对象 $git branch 分支名 commit哈希值
- 查看项目分叉历史 $git log --online --decorate --graph --all
- 改别名 $git config --global alias.新命令 "旧命令"
- 合并分支 从分支切回主分支 $git merge 分支名
- 分支冲突 打开合并后冲突的文件修改后 $git add后提交
- 暂存操作
- 将当前分支暂存入栈 $git stash
- 查看栈表 $git stash list
- 将栈中存储拿来应用 $git stash apply stash@{0}
- 将栈中存储移除 $git stash drop
- 将栈中存储拿来应用并立即从栈上扔掉它 $git stash pop
- 撤销操作
- 撤销工作区修改/添加到暂存区后进行修改 $git checkout --filename
- 撤销修改后添加暂存区 $git reset HEAD filename
- 修改最新提交的注释 $git commit -amend
- 将版本库的HEAD和分支回退 $git reset --soft HEAD~
- 将版本库的HEAD,分支和暂存区回退 $git reset --mixed HEAD~
- 将版本库的HEAD,分支,暂存区和工作区都回退 $git reset --hard HEAD~/commitid
- 数据恢复 $git reflog记录了所有分支的提交
- 打标签
- 查看所有的标签 $git tag
- 查看匹配到的标签列表 $git tag -l "v1.8.5*"
- 打标签 $git tag 标签名 commitid
- 查看特定标签 $git show 标签名
- 删除标签 $git tag -d 标签名
- 检出标签 $git checkout -b "标签名"
- 远程仓库
- 为远程仓库配置别名 $git remote add 名字 https/ssh
- 将本地仓库推到远程仓库 $git push -u 别名 分支名
- 成员克隆远程仓库 $git clone url 默认克隆时为远程仓库起的别名为origin
- 把远程仓库的数据拉到远程跟踪分支(更新修改) $git fetch origin
- 创建本地分支并跟踪远程分支 $git checkout -b 分支 origin/分支
- 把本地分支跟踪远程分支 $git branch -u 分支 origin/分支
- git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送: