git命令

130 阅读3分钟

分区概念 image.png

常用命令

  • git init 初始化版本信息文件
  • git config --global user.name 'zhangsan' 配置名称
  • git congig --global user.user.email 'you@example.com' 配置邮箱
  • git status 检测文件状态 (红色:工作区文件, 绿色: 暂存区文件)
  • git add [file] 提交指定文件到暂存区
  • git add . 工作区文件提交到暂存区
  • git commit -m'注释信息' 暂存区提交到版本库生成历史版本记录
  • git commit --amend 修改提交信息
  • git stash 暂存工作区修改的内容,切换分支,拉取代码很有用
  • git stash save '本次缓存信息' 设置名称
  • git stash pop 还原缓存,解决冲突 (pop会删除stash记录,apply不会删除)
  • git stash lisi 查看缓存列表
  • git stash apply stash@{2} 还原@2的缓存内容
  • git reset HEAD 从暂存区回滚到工作区, 三个版本,重置到版本2,版本3也就没了,reset之后push提示本地版本比远程版本旧,可以用git push -f强制推到远程,达到回退远程的目的
  • git reset HEAD [file] 暂存区指定文件回滚到工作区
  • git reset --soft 'id' 版本库回滚到暂存区,保留工作区与暂存区,但是把版本之间的差异存放在暂存区,合并多个commit
  • git reset --mixed 'id' 版本库回滚到工作区, 保留工作区清空缓存区,把版本之间的差异存放在工作区(1、有错误的commit需要修改;2、git reset HEAD清空缓存区)
  • git reset --hard 'id' 版本库回滚到工作区,清空工作区与缓存区,放弃目标版本后所有的修改
  • git revert 'id' 撤销id的commit,撤销某次提交的状态,撤销本身会创建一次提交对象.三个版本,撤销版本2,不影响版本3,例: git revert -n 'id' -> 有冲突 -> 解决继续 -> git add . -> git revert --continue
  • git revert HEAD 恢复最后一次提交的状态
  • git checkout 工作区已修改的文件回滚
  • git checkout -- [file] 工作区指定文件回滚
  • git log 查看日志, 不包括回滚的
  • git reflog 查看所有版本记录, 包括回滚的
  • git rm [file] 从版本库删除文件
  • git branch 查看分支
  • git branch dev 创建dev分支
  • git checkout -b dev2 从当前分支新建并切换dev2分支
  • git checkout dev 切换到dev分支
  • *git merge dev *将dev分支合并到当前分支
  • git branch -d dev 删除dev分支
  • git remote add origin github.com/zhangsan/te… 连接github远程仓库,给远程仓库起别名,默认origin
  • git push origin master 将本地master分支代码推送至远程仓库
  • git clone 'url' clone远程项目 (内部已经做了git remote add origin 'url')
  • git merge master 合并主分支代码到当前分支
  • git push origin dev 推送代码到远程dev分支
  • git pull origin dev 拉取代码远程dev代码
  • git pull orgin dev === git fetch origin dev & git merge origin/dev
  • git rebase -i 'id' 合并当前提交记录(未push)到版本id的提交记录为一条(如下操作)
  • git rebase -i HEAD~3 合并当前(未push)最近的三条记录(修改pick为s往前合并 :wq退出 & 连接三次提交(v1 & v2 & v3) :wq保存退出)
  • git log --graph 以图形方式查看日志
  • git tag -a v1 -m '版本1' 当前版本库记录打tag
  • git push origin --tags 提交tag
  • git cherry-pick 分支 'id1 id2' 将指定分支的指定id1 id2 合并到当前分支

冲突信息

image.png

linux 简单命令

  • pwd 查看目录
  • clear 清屏
  • mkdir 'folder' 新建folder文件夹
  • cd dolder/ 进入文件夹
  • ls 查看列表
  • touch 1.js 新建1.txt 文件
  • vi 1.txt 编辑1.txt
  • i 插入 一顿操作
  • esc :wq保存退出 :q强制退出
  • cat 1.txt 查看文件内容
  • cd ../ 上层文目录 ./ 当前目录 / 根目录
  • rm 删除文件或文件夹 -r 递归删除 -f 强制删除
  • rm mode_modules -rf 删除node_modeules

ssh设置

  • ssh-keygen 生成公钥和私钥,默认放在 ~/.ssh目录下, id_rsa.pub公钥. id_rsa私钥
  • 拷贝公钥的内容,配置在github中
  • GitHub设置SSH and GPG keys 新建ssh key 粘贴key
  • git remote add origin git@github.com:xxx/git git本地配置ssh地址

image.png