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的简单理解及基础操作命令详解

    git和svn有什么区别呢? git采用分布式版本库管理,而svn采用集中式版本库管理. 集中式版本库管理需要有一台存放版本库的服务器,开发人员在开发的时候分别从服务器拉取过来最新版本,然后创建/进入分支进行开发,开发完成之后将分支提交或者合并到主分支. 分布式版本库管理允许开发者们将版本库搬到自己的电脑上,在开发过程中,开发者们可以根据不同的目的创建分支和修改代码,开发完成后进行各项合并,这样做提高了开发的敏捷性和速度,并且减少了公共服务器的压力,且任意两个开发者之间的冲突更容易得到解决. g

  • 解决idea中Terminal终端无法执行GIT命令+Terminal 中文乱码问题

    在使用 IDEA 进行开发的时候,经常会用到 Git 进行代码管理,如果再开一个 Docker 窗口的话,窗口切换来切换去的很不方便 为了简单方便,我们可以直接在 IDEA 中使用自带的 Terminal,这样就可以达到在 IDEA 主界面敲代码,侧边栏敲 Git 命令的效果 但是自带的 Terminal 默认的配置是 Cmd 窗口,直接使用 Git 命令会对中文进行 Unicode 转码,也就是所谓的乱码 这里简单的介绍下具体的配置流程以及使用 Git 命令会引起的中文 Unicode 编码的

  • 一些你必须要熟练掌握的git命令

    前言 因为结合了开发中可能遇到的场景,篇幅较长,不过我觉得很有助于你理解 git 的运作机制,而不是死记硬背命令. HEAD指针 始终指向的是当前分支的最新版本号,HEAD^, HEAD^^, ^ 的个数 n 或 HEAD~n,n 代表前 n 个版本号. 在项目中直接使用 linux rm 只会删除工作区的文件,git rm 同在删除工作区文件的同时删除 stage 中的,或使用 git rm --cached 只删除 stage 中的. 一些基本的操作 #全局配置 git config --g

  • Git代码提交流程及git命令汇总(基础篇)

    基本了解 git命令是一些命令行工具的集合,它可以用来跟踪,记录文件的变动.比如你可以进行保存,比对,分析,合并等等.这个过程被称之为版本控制.已经有一系列的版本控制系统,比如SVN, Mercurial, Perforce, CVS, Bitkeepe等等. Git是分布式的,这意味着它并不依赖于中心服务器,任何一台机器都可以有一个本地版本的控制系统,我们称之为仓库.如果是多人协作的话,你需要还需要一个线上仓库,用来同步信息.这就是GitHub, BitBucket的工作. 自己用Git有一段

  • 分享Git常用7大技巧和命令

    Git 是一个非常强大的工具,它包含丰富的工具用以维护项目.本文介绍了一些 Git 日常使用过程中的实用技巧和命令,希望这些内容能够对大家有所帮助. 一.Git diff比对命令 通常情况下,我们会在自己的独立分支中完成需求开发,此时就会有需求将自己的分支和其他分支进行对比.这个功能可以通过 git diff branch1 branch 命令来实现. 如果希望对比暂存区和当前的 HEAD,那么使用 git diff --cached 命令会非常方便.普通的git diff命令默认对比的是没有加

  • .NET Corek中Git的常用命令及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了,那么你也就入了ASP.NET Core的大门了.但是我们还需要一个版本控制工具来提高我们的编码效率.因此这篇文章我将带着大家了解下Git这个版本控制工具以及为什么选择它. 下面我们将通过故事的形式从Git的历史谈起,并讲述Git的强大之处.然后通过实战演练教你如何在Github以及码云上托管我们的

  • Git rebase命令使用实战

    一.前言 一句话,git rebase 可以帮助项目中的提交历史干净整洁!!! 二.避免合并出现分叉现象git merge操作 1.新建一个 develop 分支 2.在develop分支上新建两个文件 3.然后分别执行 add.commit.push 4.接着切换到master分支 分别添加c.txt 和 d.txt两个文件,分别进行add.commit.push 5.现在想把develop分支上开发的部分合并到master分支上 6.git merge 会将master和develop合并的

  • Git 常用命令清单(整理且详细)

    git工作区,暂存区,版本库之间的关系: 我们建立的项目文件夹就是工作区,在初始化git(git init)版本库之后会生成一个 .git文件,可以将该文件理解成git的版本库repository,.git文件里面还有很多文件其中有一个index文件就是缓存区也叫stage,git还自动生成一个分支master,及指向该分支的指针head. (.命名开头的文件是不可见文件,如果想要显示文件,需要设置:打开计算机->组织->文件夹和搜索选项->查看->高级设置->显示隐藏的文件

  • Git命令的简单整理大全

    前言 自动帮助记录每次文件的改动,同时协作永工作 学习git命令是充分必要的 集中式和分布式 分布式每个人电脑都是一个完整的版本库,也有类似中央服务器的电脑,但是这个服务器只是用来交互打架的修改没有它大家也一样干活,只是交互修改不方便而已 安装只要安装了xcode就可以了 仓库:里面文件修改,删除,添加都能被git追踪,认识时刻都能追踪历史或者将来某哥时刻还原只能追踪文本文件的改动 创建目录和查看路径 mkdir 创建目录   cd    进入到目录里面 pwd   用于显示当前的目录 cat 

  • Windows 版本Git命令行的使用详解

    Git的使用基本教程 git安装 官网 msysgit.github.io(百度搜索git下载地址也行)下载 git安装(路径选择你的路径或者默认也行) 步骤中:出现选项注意选择Use git from git bash only(其他默认一路下一步就行了) 最后配置环境变量(目的就是在CDM窗口任意目录都可以执行git命令行) path:D:\Asoftware\java\Git\bin 详情请参考:https://www.jb51.net/article/191327.htm git配置账户

  • Git 命令行教程及实例教程(附github注册)

    本篇博客主要讲解以下问题: Git 常用命令 创建新仓库 检出仓库 添加与提交 推送改动 分支 更新与合并 标签 替换本地改动 Git实例教程 操作小技巧 Git 常用命令常用命令 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库. 检出仓库 执行如下命令以创建一个本地仓库的克隆版本: git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样子: git clone username@host:/path/to/

  • 日常收集整理的Git常用命令

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # 抛弃工作区修改 git co . # 抛弃工作区修改 git add <file> # 将工作文件修改提交到本地暂存区 git add

  • git checkout 命令使用详解

    在日常的git操作中,git checkout--检出,是我们的常用命令.最为常用的两种情形是创建分支和切换分支. 在下面的命令中,使用了一些简写,在这里说明一下: git st # git status git ci # git commit git br # git branch git co # git checkout git mg # git merge git line # git log --oneline 当然,你也可以直接在git中敲命令,将这些简写添加到git配置中 git

  • C#/.NET使用git命令行来操作git仓库的方法示例

    我们可以在命令行中操作 git,但是作为一名程序员,如果在大量重复的时候还手动敲命令行,那就太笨了. 本文介绍使用 C# 编写一个 .NET 程序来自动化地使用 git 命令行来操作 git 仓库. 这是一篇很基础的入门文章. 最简单的运行 git 命令的代码 在 .NET 中,运行一个命令只需要使用 Process.Start 开启一个子进程就好了.于是要运行一个 git 命令,我们其实只需要这句足以: Process.Start("git", "status")

随机推荐