当前位置: 首页 > news >正文

Git五分钟教程

许多人认为Git太混乱,或认为它是一种复杂的版本控制系统,其实不然,这篇文章有助于大家快速上手使用Git。

git

入门

使用Git前,需要先建立一个仓库(repository)。您可以使用一个已经存在的目录作为Git仓库或创建一个空目录。

使用您当前目录作为Git仓库,我们只需使它初始化。

git init

使用我们指定目录作为Git仓库。

git init newrepo

从现在开始,我们将假设您在Git仓库根目录下,除非另有说明。

添加新文件

我们有一个仓库,但什么也没有,可以使用add命令添加文件。

git add filename

可以使用add... 继续添加任务文件。

提交版本

现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。

为此,我们将它们提交到仓库。

git commit -m "Adding files"

如果您不使用-m,会出现编辑器来让你写自己的注释信息。

当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。

git commit -a -m "Changed some files"

git commit 命令的-a选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。

千万注意,-a不会造成新文件被提交,只能修改。

发布版本

我们先从服务器克隆一个库并上传。

git clone ssh://example.com/~/www/project.git

现在我们修改之后可以进行推送到服务器。

git push ssh://example.com/~/www/project.git

取回更新

如果您已经按上面的进行push,下面命令表示,当前分支自动与唯一一个追踪分支进行合并。

git pull

从非默认位置更新到指定的url。

git pull http://git.example.com/project.git

已经超过了五分钟?

删除

如何你想从资源库中删除文件,我们使用rm。

git rm file

分支与合并

分支在本地完成,速度快。要创建一个新的分支,我们使用branch命令。

git branch test

branch命令不会将我们带入分支,只是创建一个新分支。所以我们使用checkout命令来更改分支。

git checkout test

第一个分支,或主分支,被称为"master"。

git checkout master

对其他分支的更改不会反映在主分支上。如果想将更改提交到主分支,则需切换回master分支,然后使用合并。

git checkout master
git merge test

如果您想删除分支,我们使用-d标识。

git branch -d test

相关文章

  • Github 简明教程:http://www.runoob.com/w3cnote/git-guide.html

相关文章:

  • 多人开发时Git下冲突的产生和解决
  • 搭通自己的电脑与GitHub的传输通道
  • QML使用Sqlite数据库存储ListModel数据
  • QML 提示Error: LocalStorage: can't create path /QML/OfflineStorage/Databases解决方案
  • git 上传文件到仓库上提示:origin does not to be a git repository
  • fatal: Could not read from remote repository.的解决办法
  • github常见操作和常见错误!错误提示:fatal: remote origin already exists.
  • 删除github中某个文件夹
  • git add , git commit 添加错文件 撤销
  • Git的使用教程(一)初识Git
  • Git的使用教程(二)查看状态与文件比较
  • Git的使用教程(三)查看日志和版本回退
  • Git的使用教程(四)工作区和暂存区
  • Git的使用教程(五)管理修改
  • Git本地分支与远程分支的追踪关系
  • github指令
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java第三方包学习之lombok
  • magento 货币换算
  • 读懂package.json -- 依赖管理
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 通过git安装npm私有模块
  • 译自由幺半群
  • Semaphore
  • #、%和$符号在OGNL表达式中经常出现
  • #前后端分离# 头条发布系统
  • (二)JAVA使用POI操作excel
  • (二十三)Flask之高频面试点
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (篇九)MySQL常用内置函数
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (正则)提取页面里的img标签
  • (转)大型网站的系统架构
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net IE10 _doPostBack 未定义
  • .Net mvc总结
  • .NET 反射的使用
  • /run/containerd/containerd.sock connect: connection refused
  • @RestControllerAdvice异常统一处理类失效原因
  • [BT]BUUCTF刷题第8天(3.26)
  • [BUG] Authentication Error
  • [C#]C# OpenVINO部署yolov8图像分类模型
  • [c]统计数字
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [Docker]三.Docker 部署nginx,以及映射端口,挂载数据卷
  • [EFI]Dell Inspiron 15 5567 电脑 Hackintosh 黑苹果efi引导文件
  • [HCIE] IPSec-VPN (手工模式)
  • [hdu4622 Reincarnation]后缀数组
  • [LeeCode]—Wildcard Matching 通配符匹配问题
  • [LeetCode] 2.两数相加