[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 早已经失败了,还得重新提交一下.如果 ...
随机推荐
- 为了效率,我们可以用的招数 之 strlen
如果要你写一个计算字符串长度的函数 strlen,应该怎么写?相信你很容易写出如下实现: 1 int strlen_1(const char* str) { 2 int cnt = 0; 3 4 if ...
- [Fundamental of Power Electronics]-PART I-6.变换器电路-6.3 变压器隔离
6.3 变压器隔离 在许多应用场合中,期望将变压器结合到开关变换器中,从而在变换器的输入输出之间形成直流隔离.例如,在离线(off-line)应用中(变换器输入连接到交流公用系统),根据监管部门要求, ...
- python基础(一):变量和常量
变量 什么是变量 变量,用于在内存中存放程序数据的容器.计算机的核心功能就是"计算",CPU是负责计算的,而计算需要数据吧?数据就存放在内存里,例如:将梁同学的姓名,年龄存下来,让 ...
- 201871030110-何飞 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
201871030110-何飞 实验三 结对项目-<D{0-1}KP 实例数据集算法实验平台>项目报告 项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 ...
- BUAA_OO_第三单元
一.JML初探 JML(Java Modeling Language)作为一种形式化语言,可以约束Java代码中类和方法的状态和行为形成规格,通过将一系列具体代码实现抽象成明确的行为接口,可以形成 ...
- Java(299-314)【线程、同步】
1.多线程的原理 2.多线程内存图解 开辟新的栈空间,多个线程之间互不影响 3.Thread类的常用方法 getName()返回该线程的名称 Thread类的子类 获取线程的名称: 1.使用T ...
- Java(171-194)【接口、多态】
1.接口概述与生活举例 接口就是一种公共的规范标准 只要符合规范标准,就可以大家通用 2.接口的定义基本格式 public interface 接口名称 { // 抽象方法 / ...
- 这可能是最容易理解的 Go Mutex 源码剖析
Hi,大家好,我是 haohongfan. 上一篇文章<一文完全掌握 Go math/rand>,我们知道 math/rand 的 global rand 有一个全局锁,我的文章里面有一句 ...
- 小程序使用 Promise.all 完成文件异步上传
小程序使用 Promise.all 完成文件异步上传 extends [微信小程序开发技巧总结(二) -- 文件的选取.移动.上传和下载 - Kindear - 博客园 (cnblogs.com)] ...
- Team Queue UVA - 540
Queues and Priority Queues are data structures which are known to most computer scientists. The Te ...