Git 管理篇(详细)
新建repository
本地目录下,在命令行里新建一个代码仓库(repository)
里面只有一个README.md
命令如下:
touch README.md
git init
初始化repository
git add README.md
将README.md加入到缓存区
(可以用git add --a将所有改动提交到缓存(注意是两个杠))
git commit -m "first commit"
提交改变,并且附上提交信息"first commit"
Push
git remote add origin https://github.com/XXX(username)/YYYY(projectname).git
加上一个remote的地址,名叫origin,地址是github上的地址(Create a new repo就会有)
因为Git是分布式的,所以可以有多个remote.
git push -u origin master
将本地内容push到github上的那个地址上去。
参数-u
用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。
此时如果origin的master分支上有一些本地没有的提交,push会失败.
所以解决的办法是, 首先设定本地master的上游分支:
git branch --set-upstream-to=origin/master
然后pull:
git pull --rebase
最后再push:
git push
分支
新建好的代码库有且仅有一个主分支(master),它是自动建立的。
可以新建分支用于开发:
git branch develop master
新建一个叫develop的分支,基于master分支
切换到这个分支:
git checkout develop
现在可以在这个develop分支上做一些改动,并且提交。
注意:切换分支的时候可以发现,在Windows中的repository文件夹中的文件内容也会实时相应改变,变成当前分支的内容。
push方法1:
现在如果想直接Push这个develop分支上的内容到github
git push -u origin
如果是新建分支第一次push,会提示:
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin develop
输入这行命令,然后输入用户名和密码,就push成功了。
以后的push就只需要输入git push origin
push方法2:
比如新建了一个叫dev的分支,而github网站上还没有,可以直接:
git push -u origin dev
这样一个新分支就创建好了。
push方法3:
提交到github的分支有多个,提交时可以用这样的格式:
git push -u origin local:remote
比如:git push -u origin master:master
表明将本地的master分支(冒号前)push到github的master分支(冒号后)。
如果左边不写为空,将会删除远程的右边分支。
创建分支的另一种方法
用命令git checkout -b develop2 develop
可以新建一个分支develop2,同时切换到这个分支
删除分支
git branch可以查看所有的分支
git branch -d develop2 将develop2分支删除
Clone
使用git clone+github地址的方法,项目默认只有master分支。git branch也只有master
要看所有的分支:git branch -a或者是git branch -r
这时候要新建一个分支,叫做dev,基于远程的dev分支:git checkout -b dev origin/dev
加Tag
git tag tagname develop
git tag中的两个参数,一个是标签名称,另一个是希望打标签的点develop分支的末梢。
合并分支
git checkout master
先转到主分支
git merge --no-ff develop
然后把develop分支merge过来
参数意义:
不用参数的默认情况下,是执行快进式合并。
使用参数--no-ff,会执行正常合并,在master分支上生成一个新节点。
merge的时候如果遇到冲突,就手动解决,然后重新add,commit即可。
相关链接:
GitHub网址:https://github.com/
原文:https://www.cnblogs.com/mengdd/p/3447464.html
Git 管理篇(详细)的更多相关文章
- Git使用详细教程(一)
很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...
- git 基本命令详细解释
创建: 2017-04-05 17:04:03 2017-04-24 更新: 2017-05-16 更新: 2017-06-27 完善git remote add 更新: 2017 ...
- git的详细安装
git的详细安装 Git 是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. 从源代码安装 若是条件允 ...
- Git的详细使用
关于Git的详细使用,下面博主的博客写的非常的详细! 可以参考一下. https://blog.csdn.net/qq_19835247/article/details/104620042 人生需要准 ...
- git超详细教程
GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Gi ...
- Git 的详细使用
本文翻译自Understanding Git Source Control in Xcode (译者myShire)欢迎您加入我们的翻译小组. 在应用程序开发过程中,很重要的一部分工作就是如何进行 ...
- git使用详细介绍
1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而 ...
- Ubuntu12.04 Git 服务器详细配置
Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,学过Linux的都知道,Git的优点我就不再多说了,我也是很喜欢Linux的.今天我们一起学习Git服务器在Ubunt ...
- 或许是介绍Android Studio使用Git最详细的文章
欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/03/12/GitOnAS/ 前言 本文较长,图片很多很多,流量党慎入 使用Git已经有一段时间了,但是之前 ...
随机推荐
- 动态代理(一)——JDK中的动态代理
在开始动态代理的描述之前,让我们认识下代理.代理:即代替担任执行职务.在面向对象世界中,即寻找另一个对象代理目标对象与调用者交互.Java中分为静态代理和动态代理.这里对于静态代理不做详述.它们之间的 ...
- MOOC 数据库笔记(五):关系演算
关系演算 概述 (这部分的内容大多与离散数学有关,我没有相关基础,所以现在只是简单看一下) 关系演算是以数理逻辑中的谓词演算为基础的. 关系演算是描述关系运算的另一种思维方式. SQL语言是继承了关系 ...
- 《MySQL实战45讲》学习笔记1——MySQL的基础架构
在<极客时间>订阅了<MySQL实战45讲>专栏,总觉得看完和没看一样
- vs2015下编译免费开源的jpeg库,ijg的jpeg.lib
vs2015下编译免费开源的jpeg库,ijg的jpeg.lib 1. 去Independent JPEG Group官网www.ijg.org下载jpegsrc,我下载的版本是jpegsrc9c.z ...
- <!DOCTYPE html> 详解
前段时间的.netcore web应用程序的项目里面使用Frameset与Frame时候出现了一个问题就是使用不了,今晚准备测试一个bug却得到意外收获o(∩_∩)o 哈哈, 找到了最终原因funny ...
- 第二章 Maven 构建 Java Web项目
本教程中,我们将教给大家如何创建一个基于Spring MVC 的 Maven Web Project. 用到的技术/工具: 1.Eclipse 4.9 2.Maven 3.6.2 3.Tomcat 8 ...
- Devops K8s
公司在组建Devops团队,base在上海 徐家汇.具体职位有Devops工程师和K8s工程师. 有意者请私信.
- Matlab享元模式
享元模式(Flyweight)通过共享技术实现相同或相似对象的重用,可以减少创建对象的数量,以减少内存占用和提高性能.Java String的常量池,python logging,线程池,数据库连接池 ...
- Vue学习之组件切换及父子组件小结(八)
一.组件切换: 1.v-if与v-else方式: <!DOCTYPE html> <html lang="en"> <head> <met ...
- JavaScript 之 对话框
一.alert() 语法格式: alert("hello javascript"); 该对话框是弹出一个提示信息. Chrome 浏览器的效果. 二.prompt() 语法格式: ...