Git pull(拉取),push(上传)相关命令介绍

前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git做版本控制。话不多说,具体命令整理如下:

git拉取远程代码

git clone  https://xxx.git  

git拉取远程指定分支下代码(-b  分支名称)

git clone -b v2.8.1 https://xxx.git

初始化一个本地仓库,在同级目录下会出现一个隐藏的.git文件

git init  

查看git的配置信息

git config -l  

git配置本地仓库的userName(必须)

git config user.name 'Lee'  

git配置本地仓库的邮箱(必须)

git config user.email '12345@qq.com'  

三级文件配置路径:

 .git/config
/.gitconfig    #当前用户目录
/etc/gitconfig  #git安装目录

本地提交到git索引(缓存)中

git add .          #把新增的、修改的都加到缓存
git add -A        #把新增、和修改的、和删除的都加到缓存  

本地从缓存中加到文件库(repository)中

git commit -m '版本描述'  #提交到文件库

本地一件提交到文件库中

git commit -am '版本描述'   #一步完成提交  

查看当前git状态信息(查看是否有文件未提交)

git status

git中的三类文件

被追踪的(tracked):已经加入文档库
不被追踪的(untracked):没有加入文档库
忽略的(ignored):忽略那些不需要管理的文件夹或文件 

git新建忽略文件  目录下建立一个.gitignore文件(可以有多个,影响范围当前文件及子文件)

touch .gitignore 

.gitignore文件忽略内容demo

# Maven #
target/
 
# IDEA #
.idea/
*.iml

 
# Eclipse #
.settings/
.classpath
.project
  

注意:新建的一个忽略文件,为什么没有生效

答:可能是因为你的缓存区已经有忽略的文件了,所以需要先清空缓存区里的文件,重新add和commit操作

删除缓存区所有文件命令

git rm -r --cached .   #主要这个点一定要写 

重新add到缓存区

git add .  

每一次commit都是一个提交点,唯一标识SHA1的ID,ID可使用前4至7个数字表示

查看git的日志信息

git log

给提交点打标签  git tag -a v0.2 4a80f64(提交点SHA1的ID的前7位)

git tag -a tagV1 d819565b     #提交点SHA1的ID的前7位

回车之后会有输入tag内容的界面,然后像linux一样 点击 i 编辑   输入信息后  esc 然后 :wq 保存退出

简化git日志输出格式

git log --oneline

显示主分支和自分支git日志 (前面会多个星号)

git log --oneline --graph

查看本地添加了哪些远程分支地址

git remote

查看本地添加了哪些远程分支地址(详细)

git remote -v

删除本地指定的远程地址

git remote remove origin 

添加远程地址

git remote add origin https://xxxxxxxxxxxx.git    

分支:分支意味着你可以从开发主线(master)上分离开,在不影响主线的同事继续工

git branch                         #列出当前开发所有分支(默认会有master)
git branch king                   #创建一个king的分支(最新提交点)
git branch king 提交点          # 创建一个king的分支(指定提交点)

git branch -d -r <branchname>   # 删除远程分支,删除后还需推送到服务器
git push origin:<branchname>  # 删除后推送至服务器

git branch -d king                #删除king分支
 
 
git checkout king                 #切换至king分支
 
git checkout master   
git merge king 
     #合并分支king和主干master,合并后的提交点属于主干master

本地分支重命名

git branch -m <oldbranch> <newbranch> #重命名本地分支 

查看本地和远程的所有分支

git branch -a     # 查看本地和远程的所有分支 

查看远程所有分支

git branch -r # 查看远程所有分支  

重命名远程分支:

1、删除远程待修改分支
2、push本地新分支到远程服务器

head节点代表最新的commit  显示head 信息

git show HEAD

回退:git reset 选项 提交点(选项:--hard表示全恢复  提交点:可用ID或标签)

git reset --hard v0.1

查询所有提交点

git reflog   #回退后需要反悔的话,需要通过此命令查找到所有操作的提交点 

合并分支的起始点(不推荐)

git checkout master   
git rebase reking  
     #合并分支reking和主干master,合并后的提交点属于主干master

clone 克隆远程文件

git clone "远程地址"  "本地文件名称" 

push   推送本地修改分支至远程git仓库

git push -u origin feature-wxDemo 

fetch与pull

fetch是将远程主机的最新内容拉到本地,不进行合并

git fetch origin master 

pull 则是将远程主机的master分支最新内容拉下来后与当前本地分支直接合并 fetch+merge

git pull origin master

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。如下:

git pull origin master:feature-wxDemo    #git pull <远程主机名> <远程分支名>:<本地分支名>  

统计文件改动

git diff --stat master origin/master  #git diff <local branch> <remote>/<remote branch>  

git分支说明

Production分支(主线分支用于发版,不会直接改)
Master分支,这个分支只能从其他分支合并,不能在这个分支直接修改
 
Develop分支(开发分支)
这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
 
Feature分支(新功能分支)
这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
 
Release分支(偏向测试)
当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支
 
Hotfix分支(紧急bug发布)
当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release  

比较本地分支与git 主分支差异情况

git diff --stat feature-wxAgentIm origin/master  # git diff <local branch> <remote>/<remote branch>  

git中一些选项解释(重要):

-d
--delete:删除
 
-D
--delete --force的快捷键
 
-f
--force:强制
 
-m
--move:移动或重命名
 
-M
--move --force的快捷键
 
-r
--remote:远程
 
-a
--all:所有

以上整理希望能帮助到你。

转载于:https://www.cnblogs.com/wbl001/p/11495110.html

到此这篇关于Git pull(拉取),push(上传)相关命令介绍的文章就介绍到这了,更多相关Git pull(拉取),push(上传)命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • git和SVN的区别小结

    GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是通过介绍GIT能做什么.它和SVN在深层次上究竟有什么不同来帮助你认识它. 一. GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统

  • idea2020.1版本git提交项目到github上的方法

    idea使用git将项目提交上远程仓库 1.在idea装好git的插件 找到file>settings>Version Control> 3.创建仓库 4.添加到缓存区 5.添加到本地仓库 6.提交到远程仓库 到此这篇关于idea2020.1版本git提交项目到github上的方法的文章就介绍到这了,更多相关idea2020.1 git提交到github内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • android studio git 删除已在远程仓库的文件或文件夹方式

    有时候我们会不经意的吧不必要的文件传到git的远程仓库上like this... 如果你也碰到这情况,请别急,点根烟然后继续往下看 先进git的安装目录运行git-bash.exe 然后用cd命令切换到项目的根目录如下如 然后再执行命令 git rm -r .idea --cached 其中.idea是我想删除的文件夹,所以用了rm -r命令,如果你想删除的是文件,则用rm就行,慎用rm -r!!!! 然后执行提交命令 git commit -m '删除不必要的文件' 最后进android st

  • IDEA2020.1同步系统设置到GitHub的方法

    最近用了IDEA2020.1,原来2018.2所有插件和快捷键设置都得从新配置,这不意外发现了新大陆,省了很多时间了 IDEA2020.1 默认有两个绑定插件 IDE Settings Sync 和 Settings Repository,这里特别要说下,两个插件只取其一,我用的是repository ,同步到了github仓库 详情可以看官网怎么说的:IDEA2020.1设置同步 首先还是在GitHub上创建一个仓库,我这建立的是私有的,然后生成下个人密钥 添加个人密钥 完活之后,打开idea

  • Git pull(拉取),push(上传)相关命令介绍

    前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git做版本控制.话不多说,具体命令整理如下: git拉取远程代码 git clone  https://xxx.git git拉取远程指定分支下代码(-b  分支名称) git clone -b v2.8.1 https://xxx.git 初始化一个本地仓库,在同级目录下会出现一个隐藏的.git文件

  • Git pull(拉取)及push(上传)相关命令介绍

    前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git做版本控制.话不多说,具体命令整理如下: git拉取远程代码 git clone https://xxx.git git拉取远程指定分支下代码(-b  分支名称) git clone -b v2.8.1 https://xxx.git 初始化一个本地仓库,在同级目录下会出现一个隐藏的.git文件 g

  • docker镜像的拉取登陆上传及保存等相关使用命令

    目录 docker 中的三大基本概念 镜像 容器 仓库 docker 镜像相关命令 常用镜像仓库 搜索镜像 拉取镜像 查看当前系统上的有哪些镜像 获取镜像的详细信息 登录镜像仓库 为镜像标签 镜像上传 镜像的删除 清空镜像 查看镜像历史(镜像的构建历史) 保存镜像(commit) 保存镜像(import/export) 保存镜像(save/load) 保存镜像三种方式的区别 docker 中的三大基本概念 镜像 镜像就是启动一个容器的模板. 容器 容器就是对外提供服务的进程.或者容器就是镜像启动

  • Git建立本地仓库并上传到Gitee的详细步骤

    电脑安装git客户端.注册github账号并登陆 到本地项目文件夹右键选择git bash here 输入个人信息(代码提交者) git config --global user.name "xxxx" git config --global user.email xxxxx@qq.com 在本地项目目录创建本地仓库 git init 输入命令后项目目录会有一个隐藏的.git文件夹 上传所有代码到本地仓库 git add.   (注意add后面有个点,与add之间有一空格) 这样就把代

  • git 将本地文件(夹)上传到gitee指定分支的处理方法

    gitee的指定分支 想上传的本地文件夹为C#learning 下面为使用git将这个C#learning上传到项目的example的方法 1.在forup这个文件夹的空白处:鼠标右键 然后选择 Git Bash Here 2.本地仓库初始化,会在此处生成.vs隐藏文件夹 git init 3.其中http://xxxxx.git指gitee处的http(注意结尾有.git) git remote add origin http://xxxxx.git 4.远程仓库与本地仓库同步 其中examp

  • 解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

    一.问题描述 我们期望运行Ingress就必须给我们的集群创建Ingress controller 目前官方推荐的controller有:[目前支持和维护 AWS, GCE 和 nginx Ingress 控制器] https://kubernetes.io/zh/docs/concepts/services-networking/ingress-controllers/ 我们使用nginx控制器,其官网给出的配置方法如下:https://kubernetes.github.io/ingress

  • linux系统上传下载命令rz和sz的教程

    (一)安装方法汇总 1.安装方法(推荐) yum install lrzsz -y 2.在安装Linux系统时选中"DialupNetworking Support"组包 3.安装系统联网启动后执行yum直接安装组包 yum groupinstall "Dialup Networking Support" -y (二)上传下载文件测试 1.条件:需要使用SecureCRT或者Xshell等客户端工具连接Linux 2.上传下载命令测试 1)上传(rz) 在客户端SS

  • 详解ftp文件上传下载命令

    介绍:从本地以用户wasqry登录的机器1*.1**.21.67上通过ftp远程登录到ftp服务器上,登录用户名是lte****,以下为使用该连接做的实验. 查看远程ftp服务器上用户lte****相应目录下的文件所使用的命令为:ls,登录到ftp后在ftp命令提示符下查看本地机器用户wasqry相应目录下文件的命令是:!ls.查询ftp命令可在提示符下输入:?,然后回车.   1.从远程ftp服务器下载文件的命令格式: get  远程ftp服务器上当前目录下要下载的文件名  [下载到本地机器上

  • Linux本机与服务器文件互传及Linux服务器文件上传下载命令写法

    一.Linux下文件互传,scp命令实例 1.Linux下目录复制:本机->远程服务器 scp -r /home/abc/test1 root@192.168.0.1:/home/bcd/test2 (本机目录路径 远程机用户名@IP:/目录) 2.Linux下目录复制:远程服务器->本机 scp -r root@192.168.0.1:/home/bcd/test2 /home/abc/test1 (远程机用户名@IP:/目录 本机目录路径) 3.Linux下文件复制:远程服务器->本

  • CentOS7下安装yum源及上传下载命令rz、sz安装方法(图解)

    ** CentOS7下安装yum源及上传下载命令rz.sz安装方法图文详解 ** 在这里将yum的安装方法结合实操结果和大家分享一下,希望对需要安装yum的小伙伴们能有所助益.首先,简单介绍一下yum. yum( Yellow dog Updater, Modified)是一个位于Fedora和RedHat以及SUSE中的Shell前端软件包管理器. Yum的运行基于rpm包的支持,其能够自动从指定的服务器自动下载rpm安装包并且安装,使用起来非常方便.高效.易用.现在yum基本上是linux服

随机推荐