【技术干货】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 ...
随机推荐
- intellij idea on update action\on frame deactivation ||Servlet 页面不同步问题
当修改servlet源码时,对应的servlet页面即使刷新也不会改变,,,很烦躁 因为xx.java需要编译成xx.class后,再部署到服务器上才可以运行,所以问题就是服务器里的类文件并没有更新. ...
- C#编写影院售票系统(A project with a higher amount of gold )(2:相关代码)
此篇文章为项目代码,,,需要项目需求 ,思路分析与窗体效果请访问:http://www.cnblogs.com/lsy131479/p/8367304.html 项目类图: 影院类: using Sy ...
- asp.net -mvc框架复习(6)-基于MVC实现简单计算器
1.创建好文件夹 2.视图层代码编写 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dyn ...
- 浅谈mysql innodb缓存策略
浅谈mysql innodb缓存策略: The InnoDB Buffer Pool Innodb 持有一个存储区域叫做buffer pool是为了在内存中缓存数据和索引,知道innodb buffe ...
- 微信小程序实战:天气预报
接触微信小程序也有一段时间了,以天气预报练一下手. 主要实现了以下功能: (1) 首页图标式菜单,便于以后扩展功能 (2)首页顶部滚动消息 (3)页面右上角三点菜单转发功能,便于小程序的传播 (4)天 ...
- Linux修改主机名脚本-不重启-支持RedHat、SUSE
需要用脚本修改主机名,涉及RedHat.SUSE系统,并且要求修改立即生效且不重启,下面就是我的脚本. 使用脚本的方法如下: 1 首先创建一个脚本文件,假如命名为ModifyHostname.sh: ...
- 【转】C++易混知识点5:实例讲解Public Protected Private作用域,继承的区别和用意
大学生涯,涉及到类的作用域,继承都是用的public 共有继承,当时也没想那么多,觉得共有继承多方便,多简单,反正没有太多的限制,不管是类的成员或者是基类的成员函数都可以访问.没有深究.其实这里面真是 ...
- MySQL备份利器-xtrabackup的介绍和原理(附脑图)
标签(linux): mysql-xtrabackup 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 xtrabackup是Percona公司针对mysql数据 ...
- Docker几个基本常识
标签(linux): docker 此文来自本人学习以及网络整理而来. 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 对于用户来说,可能一开始在不了解的情况下会 ...
- How do I copy SQL Azure database to my local development server?(如何将Azure 中的数据库备份到本地)
Now you can use the SQL Server Managerment Studio to do this: Connect to the SQL Azure database. 通过 ...