百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

git常用命令 git常用命令速查表单做手机背景

wptr33 2024-11-06 20:32 28 浏览

下面是自己学习使用git的常用的命令,还有些使用过程中碰到问题的解决办法,现整理如下。
一、git clone 从远程主机克隆一个版本库
$ git clone <版本库的网址>

$ git clone <版本库的网址> <本地目录名> (线上目录名和本地不一样)

二、git remote 列出所有远程主机名 (便于管理,git要求每个远程主机都带一个主机名)

$ git remote -v 查看远程主机网址

$ git clone -o jQuery https://github.com/jquery/jquery.git (克隆版本库时所有主机自动被命名为origin。若用-o可以改变命名)

$ git remote show <主机名> (查看主机详细信息)

$ git remote add <主机名> <网址> (添加远程主机)

$ git remote rm <主机名> (删除远程主机)

$ git remote rename <原主机名> <新主机名> (修改远程主机名)

三、git fetch

git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。

默认情况下,git fetch取回所有分支(branch)的更新。

$ git fetch <远程主机名> <分支名> (取回特定分支的更新)

$ git fetch origin master (比如取回origin主机的master分支)

$ git checkout -b newBrach origin/master (git fetch取回远程分支后可以基于此创建一个本地分支)

四、git pull

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并

$ git pull <远程主机名> <远程分支名>:<本地分支名>

取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

$ git pull origin next:master

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull origin next

上面命令表示,取回origin/next分支,再与当前分支合并,实质上,这等同于先做git fetch,再做git merge

在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。

Git也允许手动建立追踪关系。

git branch –set-upstream master origin/next

上面命令指定master分支追踪origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

五、git push

将本地分支的更新,推送到远程主机

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

$ git push -f <远程主机名> <本地分支名>:<远程分支名> (强制提交,非自己的分支强烈不建议使用)

六、从远程pull一个本地不存在的分支的方法?

1、git checkout -b local_branch origin/remote_branch

2、git fetch将远程分支信息获取到本地,在执行1的方法。

七、git的选择性合并

具体操作步骤:

假如在当前的A分支上要合并B分支的某一个文件

先切回到A分支

然后执行 git checkout B xx.php

xx.php直接会覆盖A分支上的xx.php文件

(注意会直接将文件覆盖,并不会合并文件,比如在A的xx.php有修改,在B的xx.php有修改,执行上述操作会直接把B的xx.php覆盖A,若想解决用下面的步骤)

先在A分支的基础上建一个 A-temp分支,拿这个A-temp分支和B分支合并,之后切回到A分支,然后把A-temp分支的文件覆盖A分支相对应的文件即可。

八、其它命令

提交:git commit -a

对最近一次commit的进行修改:git commit -a –amend

commit之后,如果想撤销最近一次提交(即退回到上一次版本)并本地保留代码:git reset

HEAD^

合并分支:(merge from) $ git checkout master

$ git merge mybranch (merge from mybranch)

删除分支: $ git branch -d mybranch

强制删除分支: $ git branch -D mybranch

列出所有分支: $ git branch

查看各个分支最后一次提交: $ git branch -v

查看哪些分支合并入当前分支: $ git branch –merged

查看哪些分支未合并入当前分支: $ git branch –no-merged

更新远程库到本地: $ git fetch origin

推送分支: $ git push origin mybranch

取远程分支合并到本地: $ git merge origin/mybranch

取远程分支并分化一个新分支: $ git checkout -b mybranch origin/mybranch

删除远程分支:$ git push origin :mybranch

九、分支合并后删除文件问题

问题:A分支有10个文件,B分支有8个文件,这8个文件在A分支和B分支都是一样的,现在切换到A分支执行合并命令,结果A分支的两个文件被删除啦,但是还想在A分支保留那两个文件,该如何处理。

解决:merge的概念是 “把其他分支的变更合并到本分支”。在其他分支删除也是一种merge需要合并的变更
先将A创建一个临时分支temp_A,将A和B合并,在将temp_A把A删除的两个文件还原
$ git checkout (含有想恢复的文件的commit) — (想恢复的文件1的路径) (想恢复的文件2的路径)

相关推荐

oracle中merge into语句详解(oracle的merge语句)

由于工作中使用,研究了mergeinto语句是insert与update语句的结合,可以同时实现update和insert的功能。一、mergeinto语句的语法。MERGEINTOsch...

N张图告诉你K-DB为什么能全面兼容Oracle?

不是每一款数据库都能全面兼容Oracle,就像不是所有数据库都可以被称之为K-DB。一般数据库能做到的SQL标准和函数上兼容Oracle,而K-DB则能实现更多,在数据库体系架构、集群方式、数据库对象...

ORACLE 错误代码及解决办法(oracle错误码942)

ORA-00001:违反唯一约束条件(.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017:请求会话以设置跟踪事件ORA-00018:超出最大会话数ORA-00...

SQL知识大全三):SQL中的字符串处理和条件查询

点击上方蓝字关注我们今天是SQL系列的第三讲,我们会讲解条件查询,文本处理,百分比,行数限制,格式化以及子查询。...

LabVIEW实现Oracle数据库的访问(深入浅出labview数据库应用)

1.安装Oracle客户端下载:从Oracle官方网站下载适用于Windows操作系统的Oracle驱动程序。确保下载的版本与LabVIEW环境和操作系统兼容。...

Oracle查询语句,你知道几个?(oracle常用查询语句)

介绍以下非常有用的Oracle查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等方面的查询。日期/时间查询1、获取当前月份的第一天运行这个命令能快速返回当前月份的第一天,可...

Oracle数据库中判断字段不为空?(oracle数据库中判断字段不为空的函数)

Oracle数据库中如何判断字段不为空在Oracle数据库中,判断字段(列)不为空通常涉及到几种不同的场景和需求。下面是一些常见的方法来检查字段是否不为空:1.使用NVL函数NVL函数可以用来将NU...

Oracle 字典表使用函数自动转码,自定义函数传参

创建函数模板CREATEORREPLACEFUNCTIONdic_val--定义函数(dict_idINVARCHAR2,codeINVARCHAR2)--定义参数RETURN...

从上百个字段到1个CLOB:Oracle JSON存储实战指南

陆沉盯着左右两个屏幕上显示的数据格式文档,右手小拇指无意思地一下又一下的敲击着机械键盘的Ctrl键,在清脆的“哒哒”声中思考着。...

程序员面试中问到的Oracle常用数据类型

Oracle中常用数据类型有:1、字符类型1.1、定长字符1.1.1、Char字符长度不够自动在右边加空格符号。最大存2000个字符,当字符长度超出2000个报错。不指定大小默认为1。1.1.2、...

了解 Oracle 中单引号与双引号的用法,一篇文章教会你!

无论测试或者开发,对数据库的增删改查都是家常便饭。但有些小知识是经常被忽略,却又不能不去了解的,例如单引号和双引号的用法和区别,看完这一篇,你肯定会有收获。...

Oracle字符串转日期错误,试试TO_TIMESTAMP函数

最近,在工作中,发现有些字符串格式无法转换成日期格式,如下图:这种to_date是无法转换的,会报错,因此,需要用到:TO_TIMESTAMP,具体格式如下:TO_TIMESTAMP(字段名,...

oracle——空字符串(&#39;&#39;)不能用和!=

oracle——空字符串('')不能用<>和!=最近在查询空字符串的数据时发现查询不出数据。后来发现以前的写法在oracle中不能用。记录一下:数据如下:...

oracle的listagg函数,可以把多行转为一个字符串

oracle的listagg函数可以把多行转为一个字符串,用起来很方便,示例如下:witht1as(select'001'asitemcode,'苹果'...

MySQL 教程的天花板--入门到高级(mysql实用教程)

给大家推荐一套MySQL的教程,堪称MySQL教程的天花板。此教程包含...