GIT

109 阅读2分钟

分布式版本控制器GIT

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来

git的回滚速度很快

  1. 配置git
    • 用户名 $git config --global user.name "username"
    • 邮箱 $git config --global user.email a@qq.com
    • 检查配置项 $git config --list
  2. 初始化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 "写注释"
  3. 常用命令
    • 检查当前文件状态 $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 原文件名 新文件名
  4. 分支操作
    • 创建分支 $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后提交
  5. 暂存操作
    • 将当前分支暂存入栈 $git stash
    • 查看栈表 $git stash list
    • 将栈中存储拿来应用 $git stash apply stash@{0}
    • 将栈中存储移除 $git stash drop
    • 将栈中存储拿来应用并立即从栈上扔掉它 $git stash pop
  6. 撤销操作
    • 撤销工作区修改/添加到暂存区后进行修改 $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记录了所有分支的提交
  7. 打标签
    • 查看所有的标签 $git tag
    • 查看匹配到的标签列表 $git tag -l "v1.8.5*"
    • 打标签 $git tag 标签名 commitid
    • 查看特定标签 $git show 标签名
    • 删除标签 $git tag -d 标签名
    • 检出标签 $git checkout -b "标签名"
  8. 远程仓库
    • 为远程仓库配置别名 $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抓下来,然后,在本地合并,解决冲突,再推送: