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基本概念&操作的更多相关文章

  1. 让linux好用起来--操作使用技巧

    让linux好用起来--操作使用技巧 1   概述 在一个初学者眼里,linux的 CLI 界面没有图形界面那样多彩和友好,会让人产生畏难心理,但是作为一个稍微进阶的linux玩家,自然会积累不少经验 ...

  2. linux git 推送空文件夹

    /********************************************************************************* * linux git 推送空文件 ...

  3. Git基本命令行操作 (转)

    Git远程操作详解   作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...

  4. linux 修改时间 - [命令操作]

    我们一般使用“date -s”命令来修改系统时间.比如将系统时间设定成1996年6月10日的命令如下. #date -s 06/10/96 将系统时间设定成下午1点12分0秒的命令如下. #date ...

  5. Linux负载均衡概念与实践(一)

    根据网上文章整理. 负载均衡软件LVS(Linux Virtual Server)概念篇 lvs是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡.它是基于linux内核实现的.2 ...

  6. Linux(二)—— Unix&Linux 的基本概念

    Linux(二)-- Unix&Linux 的基本概念 计算机 = 主机(host)+ 终端(terminal) 主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经 ...

  7. linux信号基本概念及如何产生信号

    linux信号基本概念及如何产生信号 摘自:https://blog.csdn.net/summy_j/article/details/73199069 2017年06月14日 09:34:21 阅读 ...

  8. linux 内核的链表操作(好文不得不转)

    以下全部来自于http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html 无任何个人意见. 本文详细分析了 2.6.x 内 ...

  9. 使用 expect 重启失败的 git pull/push 操作

    问题的提出 最近使用 github 上传.下载项目代码时,经常会卡很久,有时候在命令行打了 git push 然后就去上厕所了,结果等我回来的时候,发现 push 早已经失败了,还得重新提交一下.如果 ...

随机推荐

  1. IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block Python常见错误

    错误的使用缩进量 记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式. 经典错误,一定要注意缩进,尤其是在非界面化下环境的代码修改

  2. 【C/C++】面向对象开发的优缺点

    原创文章,转发请注明出处. 面向对象开发的优缺点 面向对象开发 是相对于 面向过程开发 的一种改进思路. 由于流水线式的面相过程开发非常直接,高效.在面对一些简单项目时,只需要几百行,甚至是几十行代码 ...

  3. [Azure DevOps] 如何安装并配置 Build Agent

    1. 编译服务器 在 Azure Pipelines 中至少需要一个编译服务器的 Agent 才能编译代码或发布软件.Azure DevOps 本身已经提供了一个 Agent,但出于各种理由(需要特殊 ...

  4. java面试一日一题:讲对mysql的MVCC的理解

    问题:请讲下对mysql中MVCC的理解 分析:这个问题要回答的是对MVCC的理解,以及MVCC解决了什么问题这几个方面入手. 回答要点: 主要从以下几点去考虑, 1.什么是MVCC? 2.MVCC用 ...

  5. 解决Deepin-wine-wechat-arch 文件不能正常发送

    1 问题描述 系统Manjaro,使用Deepin-wine微信,目前最新的版本为2.9.5.56-1,发送图片时,会发送不成功,经常在转圈,对于发送其他文件会出现红色感叹号发送失败. 2 解决方法 ...

  6. Java on Visual Studio Code的更新 – 2021年3月

    欢迎来到Java的VS Code更新.在过去的几个月中,我们的工程师一直在专注于一些非常重要的工作.现在,是时候揭开面纱了,开始吧. 类型层次结构(Type hierarchy) VS Code已经支 ...

  7. 从零开始使用git将本地项目上传到GitHub

    直接进入主题 1. 注册GitHub(官网:https://github.com/),打开官网,右上角点击sign up注册按钮,进入注册界面,根据提示填写信息注册. ​

  8. hdu 5020 求三点共线的组合数(容器记录斜率出现次数)

    题意:       给你n个点,问你3点共线的组合数有多少,就是有多少种组合是满足3点共线的. 思路:      一开始抱着试1试的态度,暴力了一个O(n^3),结果一如既往的超时了,然后又在刚刚超时 ...

  9. MySQL分页优化_别再用offset和limit分页了

    终于要对MySQL优化下手了,本文将对分页进行优化说明,希望可以得到一个合适你的方案. 开始之前,先分享一套MySQL教程,小白入门或者学习巩固都可以看 MySQL基础入门-mysql教程-数据库实战 ...

  10. Day003 位运算

    位运算 & 按位与,全1才为1,否则为0 | 按位或,全0才为0,否则为1 ^ 按位异或,相同则为0,不通则为1 ~按位取反 <<左移,相当于*2 >>右移,相当于/2 ...