【技术干货】git常用命令
2.1 git init
语法: git init
在当前目录初始化git仓库,适用于尚未使用git管理的项目
2.2 git clone
语法: git clone <url>
例如: git clone git@vcs.51talk.com:scm_test/ACTalk.git
此命令clone ACTalk.git这个仓库到本地的ACTalk文件夹。
这个列子中使用的ssh协议仓库地址,可以推送代码。如果使用http协议的,则不能推送代码。
2.3 git status
语法: git status
file:///C:/Users/shenchengwei/Evernote/TEMP/enhtmlclip/Image(5).png
Changes to be commited: 已暂存,执行commit将被提交的文件
Changes not staged for commit: 已修改,但未暂存 #低版本git的提示信息 Changed but not updated
Untracked files: 未跟踪
2.4 git add
语法: git add <path>
git add 根据文件状态不同,作用也不同
(1)Untracked文件: 添加文件到暂存区
(2)冲突文件: 标记为已解决
(3)已修改的文件: 添加修改到暂存区
添加文件到暂存区
git add . #添加所有文件(工程文件等都会提交)
git add <filename> #添加指定文件
2.5 git commit
git commit -m "<commit message>"
提交文件到本地仓库(暂存区)
git commit -m "commit message"
跳过暂存区
git commit -am “commit message” #提交所有已修改的文件,不包含untracked文件
2.6 git log
语法: git log <options> -- <path>
常用参数有:
-<number>: 显示日志条数
-p: 显示每次提交修改了哪些代码
--stat: 修改了哪些文件,每个文件各修改多少行代码
--author: 按作者搜索
--grep: 按日志内容搜索
例如:
git log -10 -- src/main/java/aa.java
git log --stat --author chengwei
git log -p --grep bug-xxx
2.7 git diff
语法: git diff [--cached] | [--staged]
查看还未暂存的修改
git diff
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异
查看已暂存的修改
git diff --cached/staged
已经暂存的文件和上次提交时的快照之间的差异
2.8 git fetch
语法: git fetch <remote_name>
例如: git fetch origin
更新远程仓库所有分支,只更新指针文件,不将最新代码merge到本地分支
2.9 git pull
语法: git pull <remote_name> <branch_name>
例如: git pull origin master
实际执行: (1)git fetch origin (2) git merge origin
先获取origin所有更新;将远程仓库master最新分支merge到当前分支(master分支)
2.10 git push
语法: git push -u <remote_name> <branch_name>
推送本地分支到远程仓库
-u: 建立跟踪关系
新分支推送到仓库后,后续推送只需要执行git push(推送)或git pull(拉取)。
2.11 git branch(用于查看分支列表)
常用参数:
不带参数: 显示所有本地分支
-r: 显示所有远程分支
-a: 显示所有分支,包括本地和远程分支
以当前分支新建一个分支
git branch <branch-name> #用checkout建分支更方便
2.12 git checkout
检出/切换分支:
git checkout <branch-name>
以当前分支新建分支并切换到新分支
git checkout -b <branch-name>
#相当于git branch <branch-name> && git checkout <branch-name>
从远程分支新建分支,并建立跟踪
git checkout -b <branchname> -t <remote-branch>
2.13 git merge
合并本地分支
git merge <branchname>
合并远程分支(直接合并远程分支,需要先执行git pull或git fetch)
git merge origin/FEA/FEA-001
2.14 git remote
git remote -v
查看远程仓库列表(分布式支持多个仓库地址)
git remote add <remote_name> <url>
添加远程仓库
git remote prune origin
清理远程仓库分支列表,删除不存在的远程分支
2.15 git remove
git rm 强制删除加-f(force)
将文件从暂存区删除
git rm --cached <file name>
不小心纳入仓库后,要移除跟踪但不删除文件
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f(译注:即 force 的首字母),以防误删除文件后丢失修改的内容。
【技术干货】git常用命令的更多相关文章
- Git常用命令集锦
本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...
- 项目开发中git常用命令、git工作流、git分支模型
#新建代码库git init # 在当前目录新建一个Git代码库git init [project-name] # 新建一个目录,将其初始化为Git代码库git clone [url] # 下载一个项 ...
- 10年阿里自动化测试架构师帮您收集的:git常用命令大全以及git原理图【泣血推荐,建议收藏】
一.Git分布式版本控制简介 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势.本来想着只把最有用.最常用的 Git 命令记下来, ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- Git常用命令总结
Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- Git 常用命令2
Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...
- git常用命令-基本操作
git常用命令-基本操作 1) 新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...
随机推荐
- 如何在vue里面访问php?
如果你选择前端使用vue框架,后端用PHP开发,服务器就不用node了,用Apache就好了 开发中,看你是否想进行前后端的分离.如果你不想进行前后端的分离,可以将vue的项目build之后放到php ...
- JavaSE笔记-异常
Java 异常 Throwable类的体系结构(一些常用的) 异常分类 checked,unchecked 区分:RuntimeException及其子类,Error类及其子类,是unchecked ...
- iOS的相对路径和绝对路径
iOS程序有固定的文件访问限制,只能在自己的沙盒内. UIImage *img=[UIImage imageNamed:@"cellicon.png"]; 这段代码从相对路径加载了 ...
- 微信小程序实现顶部、底部联动滑动
这个场景一般用于展示数据时,数据过多,每条一行显示不下,表头可以横向滑动,下面要显示的数据部分横向纵向都可以滑动.表头或下面数据部分横向滑动的时候,两部分可以进行联动 具体效果像这样(随便写的丑样式布 ...
- P2045 方格取数加强版
P2045 方格取数加强版 题目描述 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格 ...
- fread读取文件(二进制文件)
fread()是c库函数,利于移植,使用缓存,效率较read()高. 原型: size_t fread(void *buffer, size_t size, size_t count, FILE * ...
- Centos7-两台Centos机器间复制文件
我又两台Centos机器,一台192.168.1.1:另一台192.168.1.2 现在在将192.168.1.1上的一个文件复制到192.168.1.2.登陆到192.168.1.1然后运行命令 命 ...
- TinyXML 的简单介绍以及使用
先说几句重点: 1,tinyxml 生成或解析XML非常好用 2,tinyxml 利用DOM(文档对象模型)操作XML,根节点与各个子节点相当于形成一棵树 3,只要你了解tinyxml的用法,可以只n ...
- 编译原理-NFA构造DFA
本题摘自北邮的编译原理与技术. 首先,根据此图构造状态转换表 表中第一列第一行表示从第一个符号B通过任意个空转换能到达的节点,Ia表示由此行的状态数组({B,5,1}可以看作0状态)经过一个a可以到达 ...
- ATS 分级缓存
理解缓存分级cache hierarchies 缓存分级是由彼此能够相互通信的各级缓存组成的,ATS支持几种类型的缓存分级.所有的缓存分级都有父子缓存概念. 父缓存位于缓存分级的较高级别,ATS能将请 ...