git常用命令

git 使用常用命令

workspace---->staging(暂存区)---->local repository(版本库)---->remote

创建版本库

$ git clone <url>    // 克隆远程仓库到本地
或者
$ git init  // 初始化本地仓库版本库

提交

git add .   // 跟踪所有本地更新的文件
git commit -m '提交更新说明'
git push

查看和修改

git status   //查看仓库当前状态
git mv <old> <name>  // 修改文件名
git rm <file>  // 删除文件

常用的 git stash

  1. git stash save “描述信息” :执行存储,添加备注,该命令执行前不要 git add ; git stash 也可以实现存储
  2. git stash list: 查看 stash了那些存储
  3. git stash show stash@{num} :查看该存储修改了哪些文档
  4. git stash show stash@{num} -p:查看具体修改的代码
  5. git stash apply stash@{num}:应用某个存储,但不会吧stash存储从列表中删除
  6. git stash pop stash@{num}:应用并删除某个stash存储

git diff

  1. git diff // 对比工作区和暂存区的更改
  2. git diff --cached ,git diff --staged 同义 // 对比暂存区和版本库
  3. git status -s //显示已跟踪文件的更改情况
  4. git diff HEAD //对比工作区和版本库
  5. git diff --ours // 合并的结果与合并前你分支上的内容
  6. git diff --theirs //合并的结果与他们那边的不同
  7. git dii --base //查看文件两边是如何改动的

git log 查看提交历史

  1. git log -p -2 //查看历史提交的最近两条,并显示差异
  2. git log --stat // 查看每个提交的简要统计信息
  3. git log --since=2.weeks
  4. git log --until=2.weeks

撤销操作

  1. git commit --amend //修正上一个commit

撤销

  1. git reset --mixed HEAD^
    不删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。

    注意:-mixed 为默认参数。git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
  2. git reset --soft HEAD^
    不删除工作空间提交的代码,撤销 commit,但不撤销 git add . 操作。

    注意:就是说仅仅是撤回后,修改的代码仍然保留。
  3. git reset --hard HEAD^
    删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。
    注意:就是说即撤回后,本地提交的代码也不保留。就等于恢复到了上一次的 commit 状态。

提交到远程仓库后,代码回滚

用一次新的commit来回滚之前的commit,被撤回的commit记录会被保留,代码被此次提交覆盖

  1. git revert , 删除commit1和commit2
  2. git revert HEAD 撤销前一次commit
  3. git revert HEAD^ 撤销前前一次的commit
  4. git revert commit_id
  5. git revert -n commit_id5…commit_id1 提交撤回到commit_id5 的位置

切换到某个commit

// 查看commit日志
git reflog

// 切换到某个分支
git reset --hard commit_id

工作区撤销某个文件的修改

  1. git checkout –

删除或重命名远程仓库

  1. git remote rename //重命名远程仓库
  2. git remote rm //删除远程仓库地址filename

Git 常用命令

  • git status -s //显示已跟踪文件的更改情况
  • git commit -a //把已跟踪的文件暂存起来一并提交,跳过了 git add
  • git mv oldname newname //改名
  • git log //按照提交的时间列村所有的更新,最新的在最上面
  • git log -p 【-2】//显示每次提交的内容差异
  • git commit --amend //会将暂存区中的文件提交,打补丁的形式加到上一次commit中
  • git reset HEAD //取消file的暂存
  • git checkout – filename //撤销filename文件的更改
  • git config --global alias.ci commit //之后的命令中 ci 代替 commit
  • git last // 查看最后一次提交
  • git branch filename //创建新分支
  • git checkout -b fileName //创建新分支并切换到新分支
  • git checkout filename //切换分支
  • git merge filename //将 filename分支合并到当前所在分支
  • git branch -d filename //删除filename分支
  • git mergetool //使用合并工具
  • git branch -v // 查看每个分支上的最新提交
  • git branch --merged //查看已被合并到当前分支的分支
  • git branch --no-merged //查看尚未被合并到当前分支的分height
  • git fetch origin filename //抓取远程的最新分支
  • git branch -vv //查看跟踪了哪些分支
  • git pull = git fetch , git merge
  • git push origin --delete testBranch // 删除远程的 testBranch 分支
  • git log --abbrev-commit //输出更简短的值
  • git show [numCode] //查看numCode这次修改的详细修改
  • git log master …experiment //查看experiment分支上还有哪些提交没有被合并到master分支上
  • git add -i //交互式暂存
  • git stash --keep-index //暂存没有被git add 的更改
  • git stash branch branchName //在暂存里创建分支
  • git clean //清理工作区未被跟踪的文件
  • git clean -f -d //将文件全部删除并清空所有的子目录
  • git clean -d -n //查看这个命令会删除哪些文件(暂时不会删除)
  • git clean -n -d -x //被跟踪了的文件一并删除
    -git clean -x -i //交互执行
  • 注: -f:强制执行,-n:查看,-x:一并删除已跟踪的文件,-i:交互
  • git tag -s [tag-name] -m ‘描述’ //签署新的标签
  • git tag -v [tag-name] //验证一个签署过的标签
  • git show [tag-name] //查看这个标签
  • gpg --list-keys
  • gpg --gen-key //安装一个秘钥
  • git grep -n testString //从提交历史或工作目录中查找一个字符串或已个正则表达式, -n 参数来输出Git所找到的匹配行号。
  • git grep --count testString //仅输出哪些文件匹配,以及每个文集包含几个匹配
  • git grep -p testString //筛选出匹配的方法或函数
  • git log -L :functionName :filename //查看filename文件中‘functionName’函数的每一次变更
  • git reset HEAD – //拉取最近一次提交到版本库的文件到暂存区 改操作不影响工作区
  • git blame -L 12,22 // 标记有问题的方法 , -L限制输出行数

变基和合并:

  • 变基: git rebase brancheName //将当前分支做的更改以打补丁的形式应用到brancheName 分支
  • 合并:git merge branchName //把当前所在分支合并到branchName 分支

impotant

workspace---->staging(暂存区)---->local repository(版本库)---->remote repository

  1. git add ./-u/-a // 1–>2 “.“跟踪新增和修改的文件,不跟踪被删除的文件;“-u“提交之前就已经被跟踪且修改了的文件;”-a“:”.”+“-u”
  2. git mv // 1–>2
  3. rm //只删除了工作区的文件,需要 git add ;git commit 后才能删除版本库里的文件
  • git rm // 1–>2 删除了工作区的文件,并将这次删除放入暂存区
  • git rm -f // 删除工作区和暂存区文件,并且将这次删除放入暂存区。
  • git rm --cached // 删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区。
  1. git commit // 2–>3
  • git commit -a // 1–>3 ,只提交已被跟踪且修改过的文件
  • git commit --amend // 2–>3 追加提交到上一次提交中
  1. git reset
  • git reset HEAD //删除已经 git add 的某个文件
  • git reset HEAD . //删除已经git add 的所有文件
  1. git push
  2. git reset // git reset commit_id // commit_id是你想回到的那个节点
  3. git diff
  4. git fetch
  5. git diff HEAD //对比工作区和版本库
  6. git clone
  7. git pull

创建一个新的远程仓库并让本地与远程做连接

git init // 初始化本地Git库
git add .  //添加本地的文件
git remote add origin <远程仓库的url>  // 使本地与远程做连接
git commit -m "注释"
git pull --rebase origin master //拉取远程仓库中的数据
git push -u origin master  // “-u” 用了-u,以后即可使用 git push 代替 git push origin master

绕过eslint校验提交

$ git commit -m “fix: 系统编码下拉框图标和系统编码重叠问题处理” --no-verify

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值