git常用命令

关注公众号QXF069

克隆版本:git clone  path路径 [<directory>]  若默认则是文件的名字。

查看远程版本库的地址   git remote -v | --verbose

将本地版本库和远程URL关联起来 git remote add [-t branch] <name(origin)> <Repository URL> # 如果指定-t branch,只会把branch分支同步下来,否则所有分支都会同步到本地。可以指定多个-t参数,将这些特定分支同步下来

取消本地版本库和远程URL的关联  git remote rm <name(origin)>

删除那些远程版本库中已经删除,但本地还存在的分支  git remote prune [--dry-run] <name(origin)># 使用--dry-run参数,可以列出那些分支将被删除,但不会执行删除操作

列出本地分支(当前分支前面有个#)git branch [-v] [-r | --remotes | -a | --all] [-v | -vv]

-v 查看冗余信息(最近一次提交的commitId以及注释)

-vv 查看冗余信息,还包括对应的up-stream

-r 或 --remtotes 查看远程分支(不加-r 或 -a的话只查看本地分支)

-a 或 --all 查看所有分支(本地+远程)

删除本地分支(delete) git branch -d | -D <branchName>  # -d 如果代码没有合并,不让删除

-D 不管有没有合并强制删除分支

重命名分支名字(move/rename) git branch -m | -M <oldBranchName> <newBranchName># -m 如果有重名分支,不让重命名 # -M 如果有重名分支,强制重命名oldBranchName为newBranchName,并替换原来的newBranchName

根据当前分支创建新分支,但不切换到新分支上 git branch <newBranchName> [<startPoint>]# 如果需要创建新分支并切换到新分支,可以用:git checkout -b <newBranchName>  # <startPoint>可以是一个分支名称、commitId、tag标签。如果没有指定<startPoint>,创建的新分支将指向当前分支的HEAD,否则会指向<startPoint>对应的commit

关联本地分支和远程分支  git branch --track develop origin/develop # 关联以后,执行pull或push命名就可以不用再指定origin了

获取远程最新代码 git fetch <name(origin)> <branchName>[:<otherBranchName>]

合并(最好用工具合并 git merge --no-ff <branchName>  # --no-ff 创建一个merge的commit

如果merge时不能进行fast-forward,则不进行merge  git merge --ff-only <branchName>

获取并合并到当前本地分支(如果有冲突,同样可以用mergetool解决冲突) git pull 等价于 git pull origin

获取远端的<branchName>分支,并合并到当前分支 git pull --no-ff origin <branchName>

推入远程库 git push origin <branchName>

删除远程分支 git delete origin :<branchName>

提交git commit [-a | --all] -m "<commitMessage>" # 如果指定-a参数,那些修改或者删除的文件,虽然没有被add,但是也会被提交(新建的文件不会);如果不指定-a参数,只有add过的文件才会被提交 # -m 提交注释

 增补提交 git commit -C head -a --amend # 前提是想要进行增补提交的那个commit还没有被push到远端

切换到分支 git checkout <branchName>

新建并检出分支 git checkout -b <newBranchName> [<startPoint>] # 如果没指定<startPoint>,则从当前分支的HEAD检出

将工作区的指定文件或目录回退版本 git checkout <startPoint> <fileName/directoryName># <startPoint> 如果是HEAD,则相当于撤销当前文件的修改,如果是一个commitId,则回退到特定的版本

反转提交(撤销提交)git revert head

复位到之前的版本git reset --hard head^^

如果不加显示添加reset模式,默认是mixed模式

reset模式  HEAD位置  暂存区  工作目录

soft       修改      不修改  不修改

mixed      修改      修改    不修改

hard       修改      修改    修改 # head^^ 表示回退到从head开始数的第三个版本(也就是回退了两个版本)

查看暂存栈 git stash list

删除暂存git statsh drop [<stash>]

查看当前文件的变更状态git status

使用GUI来查看历史记录gitk

使用命令行来查看历史记录git log [-n <num> | -<num>] [-p] [--pretty=format:"<format>" | --pretty=(oneline|short|full)] [--graph] [<fileName>] [--grep=<grepString>] [--after=<date>] [--before=<date>] [--author=<author>] [--committer=<committer>]

查看文件状态 git ls-files [-t] [-c] [-d] [-m] [-o] [-u] [<fileName/directoryName>]

创建标签git tag 1.0

为某次提交创建标签

git tag 1.0 1b2e1d63ff

显示标签列表

git tag 

切换到标签(只能查看不能提交)

git checkout 1.0

找回被删除的提交 git fsck --lost-found # 可以用 git show <commitId> 的方式查看是否是要找的那个提交

如果是的话,可以用git rebase或git merge来恢复

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid