[linux] Git基本概念&操作
1、基本概念
- 版本控制系统:一种软体工程技巧,籍以在开发的过程中,确保由不同人所编写的同一项目代码都得到更新。并追踪、记录整个开发过程。
- 集中式(SVN)/ 分布式(GIT)版本控制系统:SVN的版本库集中存放在中央服务器,类似图书馆;GIT不设置中央服务器,相比于SVN的最大区别在于开发者可以先将代码提交到本地,进而通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
- Git:一个开源的分布式版本控制系统。最早版本由Linux创始人Linus采用C语言写于2005年。
- Github:一个提供Git仓库托管服务的网站。
- 工作区:本地电脑中存放代码的目录。
- 暂存区:存放于.git 文件夹的 /index文件夹中。
- 版本库:工作区的隐藏目录 .git。
- 分支:Git的分支可以让你在主线(master分支)之外进行代码提交,当你完成功能后,测试通过再把你的分支合并到主线。


2、常用代码
# 初始化,设置名字和邮箱
$ git config --global user.name "cxc1357"
$ git config --global user.email "cxc1357@126.com"
# 查看创建的本地文件夹gitconfig
$ cat ~/.gitconfig
# 克隆Git仓库到本地文件夹
$ git clone git://github.com/schacon/grit.git mygrit
# 在当前目录创建一个.git目录
$ git init
# 查看当前git仓库的状态
$ git status
# 创建分支
$ git branch experiment1
# 查看分支
$ git branch
# 转到分支(签出)
$ git checkout experiment1
# 合并分支
$ git merge -m 'XXX' experiment1
# 删除分支
$ git branch -d experiment1
# 撤销合并
$ git reset --hard HEAD^
# 将其他仓库的分支与自己的合并
$ git pull /tmp/myrepo master
# 查看日志
$ git log
# 加入缓存区
$ git add file1 file2 file3
# 查看被修改的文件(输入q退出)
$ git diff --cached
# 提交到本地仓库,并添加注释
$ git commit -m “add 3 files”
# 上传到远程仓库
$ git remote add <主机名> <远程仓库地址>
参考:
使用开源中国(码云)托管代码
https://www.cnblogs.com/rocedu/p/5155128.html
[linux] Git基本概念&操作的更多相关文章
- 让linux好用起来--操作使用技巧
让linux好用起来--操作使用技巧 1 概述 在一个初学者眼里,linux的 CLI 界面没有图形界面那样多彩和友好,会让人产生畏难心理,但是作为一个稍微进阶的linux玩家,自然会积累不少经验 ...
- linux git 推送空文件夹
/********************************************************************************* * linux git 推送空文件 ...
- Git基本命令行操作 (转)
Git远程操作详解 作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...
- linux 修改时间 - [命令操作]
我们一般使用“date -s”命令来修改系统时间.比如将系统时间设定成1996年6月10日的命令如下. #date -s 06/10/96 将系统时间设定成下午1点12分0秒的命令如下. #date ...
- Linux负载均衡概念与实践(一)
根据网上文章整理. 负载均衡软件LVS(Linux Virtual Server)概念篇 lvs是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡.它是基于linux内核实现的.2 ...
- Linux(二)—— Unix&Linux 的基本概念
Linux(二)-- Unix&Linux 的基本概念 计算机 = 主机(host)+ 终端(terminal) 主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经 ...
- linux信号基本概念及如何产生信号
linux信号基本概念及如何产生信号 摘自:https://blog.csdn.net/summy_j/article/details/73199069 2017年06月14日 09:34:21 阅读 ...
- linux 内核的链表操作(好文不得不转)
以下全部来自于http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html 无任何个人意见. 本文详细分析了 2.6.x 内 ...
- 使用 expect 重启失败的 git pull/push 操作
问题的提出 最近使用 github 上传.下载项目代码时,经常会卡很久,有时候在命令行打了 git push 然后就去上厕所了,结果等我回来的时候,发现 push 早已经失败了,还得重新提交一下.如果 ...
随机推荐
- java位运算求一个整数的绝对值
1 import java.util.Scanner; 2 3 public class Question1 { 4 public static void main(String[] args) { ...
- Java例题_26 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
1 /*26 [程序 26 求星期] 2 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 3 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情 ...
- 懵了!女朋友突然问我MVCC实现原理
前言 都知道事务的可重复读级别实现原理是使用MVCC实现的,那么你对MVCC的底层实现原理知道多少呢?面试高频点,你值得拥有. 一.MVCC到底是什么? MVCC即多版本控制器,其特点就是在同一时间, ...
- kong更改日志格式
基于业务的需求,需要对网关层的日志进行适当定制,以满足使用kibana的制图. 对于kong的日志格式更改,可查看到的资料都过于繁琐,特此记录. 修改kong的日志格式 # ctl edit depl ...
- python 开发环境安装(最全最完整)
一.下载安装包 Windows64 位电脑安装 Python,浏览器的地址栏访问: https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64 ...
- Python简单实现杨辉三角
n=input("请输入要打印的行数")n=int(n)for x in range(0,n+1): p=1 print(''.rjust(n-x),end="" ...
- 【近取 key】NABCD分析
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-NABCD分析 我在这个课程的目标是 提升工程能力和团队意识,熟悉软件开发的流程 这个作 ...
- Day06_31_接口(Interface)
java 接口(Interface) 接口和抽象类的区别? 子类只能通过extends关键字去继承抽象类(Abstract),子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现 ...
- 0702-计算机视觉工具包torchvision
0702-计算机视觉工具包torchvision 目录 一.torchvision 概述 二.通过 torchvision 加载模型 三.通过 torchvision 加载并处理数据集 四.通过 to ...
- Python容器相关操作
(集合与字典除外)的容器相关操作 (1)容器的拼接 >>> 'abc' + 'def' 'abcdef' (2)容器的重复 >>> (1, 2) * 3 (1, 2 ...