Git 版本控制系统的基本使用、常用操作

以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的、基本操作:

0. 安装Git 分散型版本控制系统(CVS);
  sudo apt-get install git

1. 初始化本地配置git或其他配置等(配置仓库或者全局选项)
  git config --global user.name "your_name"
  git config --global user.email "[email protected]"
  git config --global color.ui auto
  git config --global core.editor vim

2. 创建git目录仓库(以git_dir为例)(git_dir下会生成一个.git的工作树保存仓库状态信息)
  mkdir git_dir
  cd git_dir
  git init

3. 如果需要使用到github,则还需要设置github的SSH Key;并将生成的id_rsa.pub公开密钥的内容添加到github的SSH Key
  ssh-keygen -t rsa -C "[email protected]"

4. 查看仓库状态
  git status

5. 向暂存区中添加文件
  git add some_file

6. 将暂存区文件提交到仓库的历史记录区(版本区)中
  git commit -m "some commit information strings"
  或者直接git commit,后进入编辑器编辑模式,保存提交的详细信息;若不再提交,则提交信息留空直接关闭编辑器即可。
  此外也可以将向暂存区添加文件与提交到历史记录区简化合并为: git commit -am “some commit information strings”

7. 查看仓库提交日志信息
  查看仓库的提交日志:git log
  或者查看简述信息:git log --pretty=short
  查看指定目录、文件的提交日志信息:git log some_file
  查看文件的改动信息: git log -p 或者git log -p some_file
  查看当前仓库的操作日志:git reflog
  reflog与log的区别,前者可以查看所有操作历史记录日志,而后者至多查看到当前所在hash index为止的历史记录(比如回溯到某个历史版本时的位置)

8. 查看更改前后的差别
  查看工作区与暂存区的差别: git diff
  查看工作区与历史记录区的差别: git diff HEAD
  查看暂存区与历史记录区的差别; git diff --cached 或者git diff --staged

9. 显示当前分支列表
  git branch

10. 创建并切换分支(feature_A)
  创建分支feature_A:git branch feature_A
  切换到分支feature_A:git checkout feature_A
  或者git checkout -b feature_A
  切换到主分支(默认分支): git checkout master
  一般情况下,主干分支master作为稳定发布的分支,可能有多个不同的特性分支(特性分支从主干分支master分支)作为不同主题实现,
  此外还有bug分支(也从主干分支master分支出来的)以修复BUG;此后再与master合并;
  另外主干分支可能需要Tag标签来创建版本信息,同时管理多个发布版本,拥有多个版本发布时,主干分支也有多个。

11. 分支合并
  切回到主干分支:git checkout master
  合并feature_A到主干分支: git merge --no-ff feature_A

12. 以图表形式查看分支
  git log --graph

13. 回溯分支历史版本(e411dea1c 为历史提交记录的某个指定的历史记录点下简化了的hash index值,可以使用全hash值或者简化的)
  git reset --hard e411dea1c

14. 推进分支历史版本(86f40a1 为推进历史记录版本下的某个指定历史记录点hash index值)
  同回溯分支版本一样,不过需要结合git reflog得到相应的hash index值,并结合git reset --hard 86f40a1

15. 修改上一次提交的信息内容
  git commit --amend
  此后编辑修改该编辑器中对应的内容,保存并退出即可

16. 更改压缩历史记录信息(n为某个可压缩的记录条数)或者称为变基
  git rebase -i HEAD~n

17. 添加远程仓库并推送至远程仓库
  需要先在github上创建同名仓库,如git_dir;
  添加远程仓库,将其设置为本地仓库的远程仓库(origin为标识符):git remote add origin [email protected]:your_acount/git_dir.git
  此外也可以先在github上创建仓库后,拉取下来然后添加文件修改,再提交也可,而不需要添加远程仓库操作;
  推送至master分支(当然也可以推送其他分支,如feature_A):git push -u origin master

18. 获取远程仓库(从远程仓库拉取克隆到本地)
  git clone [email protected]:your_acount/git_dir.git

19. 查看所有的分支信息(含远程仓库的)
  git branch -a

20. 获取远程仓库的某个分支(如:feature-A)
  git checkout -b feature-A origin/feature-A

21. 推送当前分支
  git push

22. 获取最新的远程仓库分支(如: feature-A)
  git pull
  另外也可以获取某个分支:git pull origin feature-A

一些有用的Git资料:

  Git官网:https://git-scm.com/

  Git官网的外链接:https://git-scm.com/documentation/external-links

  LearnGitBranching:http://learngitbranching.js.org/

  TryGit:https://try.github.io/

  Git教程 - 廖雪峰的官方网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

时间: 2024-12-05 14:11:19

Git 版本控制系统的基本使用、常用操作的相关文章

Git版本控制系统VCS

Git版本控制系统VCS 一.版本控制系统基本情况说明 版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1.作用 记录文件的所有历史变化 随时可回复到任何一个历史状态 多人协作开发或者修改 错误恢复 多功能的并行开发(分支功能.特性-合并操作) 2.分类 本地版本控制系统(local VCS) 集中化的控制系统(Centralizes VCS) 分布式的版本控制系统(Distributed VCS) 3.基本概念 repository——存放所有文件及历史信息

如何选择版本控制系统 ---为什么选择Git版本控制系统

版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开发和维护.于是,版本控制系统(Version Control Systems)应运而生,主要分为两类,集中式和分布式. 集中式版本控制系统 集中式版本控制系统的特点是只有一台中央服务器,存放着所有研发数据,而其它客户端机器上保存的是中央服务器最新版本的文件快照,不包括项目文件的变更历史.所以,每个相关人员工作

git(版本控制系统)的使用

git的简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 集中式版本控制系统(svn): 中间是中央服务器,其他所有电脑都需要从中checkout代码下来.只有中央服务器管理着各个版本的代码.其他电脑需要操作时都要和中央服务器交互.如果中央服务器离线或者故障,其他电脑就没法与中央服务器交互. 分布式版本控制系统(git): 分布式每一台电脑都有版本的Database,就不用担心中央服务器离线或者故障.因为本地就有版本的Database,所以可以实现离线操作

Git 版本控制系统

版本控制系统 版本控制 版本控制(Version Control)的作用是追踪文件的变化.为什么需要版本控制?简单说,就是当你出错了,可以很容易地回到没出错时的状态. 你可能已经在不知不觉中,布置了自己的版本控制系统.比如,创建了类似下面这样的文件名: 论文_0510.doc 论文_0514.doc 论文_0521.doc 论文_修改版.doc 论文_最终不修改版.doc 这就是软件中为什么有"Save As"命令的原因.它使得你可以在不破坏源文件的基础上,得到一个类似的新文件.文件的

阿里云服务器linux系统上安装git版本控制系统

Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.而国外的GitHub和国内的Coding都是项目的托管平台.而使用git的第一步就是安装一个git,下面就简单讲述一下在 Linux 系统上如何安装一个git 1.安装git依赖包 Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具. yum install curl-devel expat-devel gettext-devel

第1章Git分布式版本控制系统

今天在高铁闲来无事,决定把我之前遗漏的Git好好整理一番. 首先感谢老男孩架构师班赵班长深入讲解Git,综合自己实践整理而来,特此在今天分享给大家. 笔者QQ:572891887 Linux架构交流群:471443208 1.1Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件

Git分布式版本控制系统最佳实践

今天在高铁闲来无事,决定把我之前遗漏的Git好好整理一番. 首先感谢老男孩架构师班赵班长深入讲解Git,综合自己实践整理而来,特此在今天分享给大家. 笔者QQ:572891887 Linux架构交流群:471443208 1.1Git诞生历史 我想大家还记得Linustorvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件,

如何选择版本控制系统之二---Git的研发应用场景

之前写了一篇<如何选择版本控制系统 ---为什么选择Git版本控制系统>,地址是:http://laoyudage.blog.51cto.com/12854334/1927409,有兴趣的可以去看看,本篇文章算是这个系列的第二篇文章. Git诞生于2002年,由Linux之父Linus Torvalds和他的团队开发并不断完善,它秉承了Linux的开源精神,为广大研发团队带来了非常棒的版本控制体验.本文立足Git的工作原理,深入探讨各种研发场景中工作流等问题. Git工作模式 代码提交过程 一

如何选择版本控制系统之二---Git的研发应用场

之前写了一篇<如何选择版本控制系统 ---为什么选择Git版本控制系统>,地址是:http://www.cnblogs.com/goldenfish/p/6876864.html,有兴趣的可以去看看,本篇文章算是这个系列的第二篇文章. Git诞生于2002年,由Linux之父Linus Torvalds和他的团队开发并不断完善,它秉承了Linux的开源精神,为广大研发团队带来了非常棒的版本控制体验.本文立足Git的工作原理,深入探讨各种研发场景中工作流等问题. Git工作模式 代码提交过程 一