git简单介绍
一种常见的版本控制工具
获取
克隆仓库
git支持以ssh或者http的方式来标识远程仓库
git clone git@github.com:username/project.git
git clone https://github.com/username/project
git clone git@github.com:username/project.git ~/projects/path # 将远程仓库克隆到本地指定目录
以上两条命令作用相同,均是将github上的仓库克隆到本地
拉取远程仓库
git pull # 拉取远程仓库的更新,并与本地修改合并
git fetch --all # 获取最新代码到本地,不进行合并操作
git reset --hard origin/master # 把HEAD指向最新的版本
在拉取更新时,若直接执行git pull操作,则会将远程更新与本地更新合并,此时本地文件将出现待提交状态,即使本地并未修改
若仅仅想拉取远程修改并覆盖更新本地的文件,需执行以上fetch及reset命令
暂存
在git中,可通过stash子命令将本地修改暂存起来,并在合适时取出来并合并。
假如项目中遇到类似这种情况:
当前本地正处于主分支上开发,功能做了一半,尚未提交修改
被告知线上稳定分支存在bug,急需修复
此时便可通过git stash命令将本地修改移至暂存区,同时本地切换至稳定分支进行修改bug,并进行提交等操作。
完成后再切换回主分支,同时通过stash pop或stash apply命令将之前暂存的修改取出来,便可继续之前的开发工作。
暂存当前修改
每次暂存都会在暂存区中产生一条暂存记录
git stash
查看暂存列表
列表中每条暂存记录会有一个编号,类似于stash@{x}这种格式
git stash list
取出暂存记录
stash pop 命令取出暂存记录,与当前分支合并,同时该记录会从暂存列表中删除
stash apply 作用与stash pop,但取出后不会将记录删除,所以可以多次执行
git stash pop stash@{x}
git stash apply stash@{x}
删除暂存记录
git stash drop stash@{0}
提交
git提交需要两步操作,首先将修改commit到本地仓库,再将本地的提交push到远程仓库,之后才可被其它人下载到。
查看本地仓库状态
git status
status子命令显示当前本地仓库的状态。未提交、未加入版本控制、已删除、版本冲突等可通过该命令查看。
将本地修改加入待提交列表
git add . # 将所有本地修改加入版本控制
git add abc.txt # 将指定文件的修改加入版本控制
提交本地更改
git commit -m "提交备注"
在commit时仅仅将修改提交的本地仓库,其它人无法获取到,直到执行push操作,将本地仓库的提交推到远程仓库
远程仓库
查看
远程仓库可以通过remote子命令查看,-v参数可以查看远程仓库具体的指向地址。
$ git remote
origin
$ git remote -v
origin git@github.com:username/project.git (fetch)
origin git@github.com:username/project.git (push)
删除
通过remote rm 子命令删除远程仓库
$ git remote rm origin # 移除origin远程仓库
添加
使用remote add子命令添加远程仓库,其中origin无特殊意义,是远程仓库在本地的一个助记简称。
$ git remote add origin https://github.com/pnnh/chatcpp.git
修改
使用remote rename子命令修改远程仓库在本地的助记简称。
$ git remote rename origin master # 将origin仓库重命名为master
详情
remote show子命令可以查看远程仓库的详情描述,这些信息包括:
比如查看所有处于跟踪状态中的远端分支,查看运行 git push 时缺省推送的分支是什么,哪些已同步的分支在本地存在,但在远端服务器上已被删除 ,运行 git pull 时将自动合并哪些分支等等。
$ git remote show origin
推送本地修改
git push
# 只推送本地master分支的提交到origin远程仓库,需要先设置本地分支与远程分支的跟踪关系
git push origin master
将修改commit到本地仓库时,无法被其它人下载到,版本还保留在本地。此时可通过push子命令将本地修改推送到远程仓库。
git简单介绍的更多相关文章
- Git简单介绍以及使用入门
Git Git:分布式版本控制系统, 此外还有 SVN (集中式版本控制系统) 下载地址(阿里云镜像) :CNPM Binaries Mirror (npmmirror.com) Git Bash : ...
- git使用介绍
Git简单介绍 参考网址: git使用简介 这个教程推荐使用:git教程 git和svn的差异 git和svn的最大差异在于git是分布式的管理方式而svn是集中式的管理方式.如果不习惯用代码管理工具 ...
- 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习
猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...
- git + git flow 的简单介绍
1.git简单实用 git:是一种分布式版本控制系统,因为其优秀的特性个人十分推崇. 1.1设置本机用户身份 git config -global user.name "userName&q ...
- 攻城利器 —— Carthage简单介绍
01 Carthage简单介绍 主页:https://github.com/Carthage/Carthage.git 作者:Justin Spahr-Summers等 版本:0.18 目标:用最简单 ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- [转] Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine
Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine Trac是一个轻量级的软件项目管理环境,如果在工作中涉及一个开发团队的管理并且关心项目管理工具的话,相信都在 Trac. ...
- git简单使用教程
git 的基本使用指令 我们先来简单熟悉一下 git 的简单使用的指令, 作为最基本的 git 指令一定要熟悉 12345678910111213141516171819202122232425262 ...
- app 下载更新 file-downloader 文件下载库的简单介绍和使用
app 下载更新 file-downloader 文件下载库的简单介绍和使用 今天介绍一个下载库:file-downloader 文件下载库 说明: * 本文内容来自原 file-downloader ...
随机推荐
- Python面向对象 -- slots, @property、多重继承MixIn、定制类(str, iter, getitem, getattr, call, callable函数,可调用对象)、元类(type, metaclass)
面向对象设计中最基础的3个概念:数据封装.继承和多态 动态给class增加功能 正常情况下,当定义了一个class,然后创建了一个class的实例后,可以在程序运行的过程中给该实例绑定任何属性和方法, ...
- dbt 集成presto试用
dbt 团队提供了presto 的adapter同时也是一个不错的的参考实现,可以学习 当前dbt presto 对于版本的要求是0.13.1 对于当前最新版本的还不支持,同时需要使用源码安装pip ...
- C# await async Task
//原文:https://www.cnblogs.com/yan7/p/8401681.html //原文:https://www.cnblogs.com/s5689412/p/10073507.ht ...
- BZOJ1034 ZJOJ2008 泡泡堂BNB
BZOJ1034 ZJOJ2008 泡泡堂BNB Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表 队由n名选手组成,比赛 ...
- Connection to newtaotao failed. [08001] Could not create connection to database
jdbc.url=jdbc:mysql://localhost:3306/newtaotao?serverTimezone=UTC&characterEncoding=utf-8 数据库是5. ...
- hhhhh我进步啦!
不要相信上面的标题,其实我是 一直都很强的 蒟蒻中的蒟蒻(卑微☹) 今天早上刷完水题后突然发现自己竟然进了一本通网站“排名”的首页(第 100 名欸),不禁 嘚瑟 开森不已. ☟☟☟ 继续A题↖(^ω ...
- Atcoder Regular Contest 060 F题第一问答案证明
一切的开始 令 \(x\) 为字符串,\(p\) 为正整数.如果对于满足 \(0\le i<|x|−p\) 的任何整数 \(i\) 满足 \(x[i]=x[i+p]\),则 \(p\) 称为 \ ...
- redis状态详解
redis查看状态信息 info all|default Info 指定项 server服务器信息 redis_version : Redis 服务器版本 redis_git_sha1 : Git S ...
- MySQL索引和SQL调优手册
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等.为了避免混乱,本文将只关注于BTree ...
- 关于jvm系统属性-Djava.awt.headless 模式
1. 什么是 java.awt.headless? Headless模式是系统的一种配置模式.在系统可能缺少显示设备.键盘或鼠标这些外设的情况下可以使用该模式. 2. 何时使用和headless mo ...