Git/GitHub基本操作
Git是分布式版本控制工具,SVN是集中式版本控制,有单点故障的问题
GitHub是Git的代码托管中心,类似的国内有码云,是远程维护库
Git的优势
大部分操作在本地完成,不需要联网
完整性有保证
尽可能添加数据而不是删除或修改数据
分支操作非常流畅
与linux命令全面兼容
基本操作
1.查看工作区,暂存区状态
git status
2.添加操作,将新建或修改添加到暂存区
git add [file name]
3.提交操作,将暂存区的内容提交到本地库
git commit -m "commit message" [file name]
4.查看历史操作记录
git log全显示,翻页方式和vim一样
git log --pretty=oneline 每条日志以一行显示
git log --oneline
git reflog出现的head{移动到当前版本数}
5.操作版本,回到哪一个版本。
git reset. --hard 9a9ebd6
git reset --hard HEAD^根据head指针回到行
git reset --hard HEAD^^^回退三行
git reset --hard HEAD~3回退n步
7.删除文件并找回
删除:git rm filename
找回:git reset --hard[指针位置]
找回的前提是,删除前,文件存在时的状态已经提交到本地库
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
8.工作区和暂存区的文件比较差异
git diff apple.txt
git diff HEAD apple.txt
不带文件名会比较多个文件
9.分支的好处
同时并行推进多个功能开发,提高开发效率
各分支在开发过程中,如果某个功能开发失败,不会对其他分支有任何影响
10.查看分支
git branch -v
11.创建分支
git branch [分支名]
12.切换到某个分支
git checkout [分支名]
git add filename分支增加修改文件和上面的一样
git commit -m "说明..." [分支名]
13.合并分支
git merge [被合并的分支名]
14.解决冲突
第一步:编辑冲突文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日志说名..."
注意:第四步后面不能跟文件名
git基本原理
git底层采用哈希SHA-1算法
git远程操作
git remote add [远程库别名] https://github.com/帐号/远程库名.git
8.将抓取下来的修改和本地库合并
10.解决冲突
如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取
拉取下来后如果进入冲突状态,则按照"分支冲突解决"操作即可
Git工作流
1.集中式工作流(类似svn)
2.GitFlow工作流(最常用)
3.forking工作流(跨团队操作常用)
Gitlab服务器搭建过程
1.官网网址
首页:https://about.gitlab.com/
安装说明:https://about.gitlab.com/installation/
2.安装命令摘录
yum install -y curl policycoreutils-python openssh-server cronie
lokkit -s http -ssh
yum install postfix
server postfix start
chkconfig postfix on
curls https://packages.gitlab.com/install/repositories/gitlab-ee/script.rpm.sh | sudo bash
EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ee
yum安装 gitlab-ee(或社区版ce)时,需要联网下载几百M的安装文件,可以提前下载rpm安装包
下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm
3.Gitlab服务操作
初始化配置Gitlab
gitlab-ctl reconfigure
启动Gitlab服务
gitlab-ctl start
停止Gitlab服务
gitlab-ctl stop
4.浏览器访问
先关闭防火墙
访问Linux服务器ip地址即可,如果想访问EXTERNAL_URL指定的域名还需要配置余名服务器和本地hosts文件
初次登陆时需要为Gitlab的root用户设置密码
创建库(和GitHub差不多的流程)
Git/GitHub基本操作的更多相关文章
- Git&Github基本操作与分支管理
Git的原理涉及快照流.链表.指针等,这里不作过多叙述. 1.基本操作 git init 创建一个 Git 仓库 git clone [url] 拷贝一个 Git 仓库到本地 git add [fil ...
- Git——github基本操作
基本概念 上一篇文章写到git共享仓库,但是有个局限性,就是这个仓库存在于本地,其他人无法从我们这个仓库拿到共享的内容 但是我们可以将这个共享仓库放入一个远程的服务器上,然后设置一些登录权限就能完美的 ...
- 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等
近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...
- Github学习之路-小试牛刀,练习Git 的基本操作
一.下子windows客户端. Git 客户端下载地址:http://msysgit.github.io/ 二.打开Git Bash 命令行操作界面. 安装完成后,在开始菜单里找到“Git”-> ...
- git/github初级运用自如(zz)
----//git/github环境配置 一 . github上创建立一个项目 用户登录后系统,在github首页,点击页面右下角“New Repository” 填写项目信息: project n ...
- 【转载】git/github初级运用自如
之前了解过github,并在上面看了一些项目的源代码,于是自己也在github上创建了账户,希望以后有机会也把自己的项目托管在上面去.但是前提你要先了解git/github,下面的内容是从我的好基友虫 ...
- Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
- git/github初级运用自如(转自:虫师)
注:本文来源于 虫师博客(http://www.cnblogs.com/fnng/archive/2012/01/07/2315685.html) ,内容详尽,真实有用. 另:发一个github使用教 ...
- 【转】Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
随机推荐
- titlesplit
/** * Created by lkl on 2017/6/26. *///spark-shell --driver-class-path /home/hadoop/test/mysqljdbc.j ...
- [Bayes] prod: M-H: Independence Sampler for Posterior Sampling
M-H是Metropolis抽样方法的扩展,扩展后可以支持不对称的提议分布. 对于M-H而言,根据候选分布g的不同选择,衍生出了集中不同的变种: (1)Metropolis抽样方法 (2)随机游动Me ...
- java导出json格式文件
生成json文件代码: import java.io.File; import java.io.FileWriter; import java.io.Writer; public class Crea ...
- 【代码审计】XYHCMS V3.5任意文件删除漏洞分析
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
- Git工作流程最佳实践总结
Git作为一个目前非常流行的版本管理工具,深受开发者的喜爱.那么怎样才能将Git的作用发挥的更好呢?我根据实际的项目经验,归纳总结了以下Git工作流的最佳实践.这里所谓的最佳,是经过多次项目经验后,根 ...
- iOS - 切换rootViewController时,销毁之前的控制器
一.iOS在切换根控制器时,如何销毁之前的控制器?(切换rootViewController时注意的内存泄漏) 首先.在iOS的ARC机制下,任何对象,当没有其他对象对他进行强引用时,都会被自动释放. ...
- android程序---->android多线程下载(二)
上篇我们讲到了android中下载的断点续传问题,今天我们开始学习下载的多线程问题.本次的多线程源码下载:androdi中多线程下载的实现代码.有关断点续传的问题,请参见博客:android程序--- ...
- docker 搭建ntp服务器
背景 在搭建etcd集群时,如果主机时间相差太多会出现同步错误,如果外部网络不可用时,需要使用内部的ntp服务器同步时间. 构建ntp镜像 创建Dockerfile # usage: # docker ...
- G - 生日蛋糕
7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当 ...
- MFC 应用程序中使用管道代码示意
STARTUPINFO sinf = {0}; PROCESS_INFORMATION pinf = {0}; SECURITY_ATTRIBUTES sa = {0}; HANDLE hPipeOR ...