感谢linux大鹏的《看日记学git》系列教程
Git 是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。
一.安装GIT
1.源码安装:
从Git官网的下载页面下载最新稳定版源代码,然后编译、安装
$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
$ tar -xjvf git-1.7.3.5.tar.bz2
$ cd git-1.7.3.5
$ make prefix=/usr all ;# 设置Git安装目录
$ sudo make prefix=/usr install ;# 以root权限运行
2.安装包安装:
fedora 等系统
$ yum install git-core
ubuntu等系统
$ apt-get install git-core
二.设置用户名和密码
$ git config --global user.name flynewton #将用户名设为flynewton
$ git config --global user.email alicool@foxmail.com #将用户邮箱设为alicool@foxmail.com
Git的配置信息分为全局和项目两种,上面命令中带了“--global"参数就是进行全局配置,会影响本机上的每个一个Git项目。
Git也可以为每个项目设定不同的配置信息,进入Git项目所在目录,执行下面的命令:
$ git config user.name xxx#将用户名设为xxx
$ git config user.email xxx@gmail.com #将用户邮箱设为xxx@gmail.com
三.开始使用GIT
1.快速入门
$ cd hello-git/ #进入项目目录
$ git init #初始化该项目,建立一个.git隐藏目录用于保存项目目前的进展情况
$ git add . #建立快照,快照存储在临时存储空间
$ git commit #将快照中的内容写入GIT仓库,输入回车后会进入vi窗口,记录版本和开发情况等,也可以直接git commit -m "log msg"
$ git commit -a #相当于"git add ."+"git commit",但是无法加入新增的文件或文件夹
2.修改源代码后的操作
$ git diff #查看源代码和快照的区别
$ git diff --cached #查看快照和仓库的区别
$ git status #查看整体改动的信息
$ git add hello.py #告诉git我修改了hello.py文件,请检查下(GIT中无论修改还是增加新文件均使用add进行登记)
$ git commit #提交到git
$ git log #查看日志
$ git reset --soft HEAD #只回退commit的信息,但index file(就是临时存储区域)和修改的代码仍然在
$ git reset --hard HEAD #不仅回退commit的信息,代码也恢复到修改前的版本
$ git reset --mixed HEAD #回退commit和index file的信息,保留代码的修改
$ git reset HEAD #默认情况等同于mixed
$ git reset -- a.py #从index file中删除一个已经登记的文件
3.分支管理
$ git branch branch-a #创建branch-a分支
$ git branch #查看所有分支,其中带*的返回结果为当前分支
$ git checkout branch-a #切换到branch-a分支
====================================================
修改分支代码
$ git commit hello.py #提交到分支
====================================================
$ git checkout master #切换到主干
====================================================
修改主干代码
$ git commit hello.py #提交到主干
====================================================
$ git checkout branch-a #切换到branch-a分支
$ git merge branch-a #将分支合并到主干(如果有冲突会提示冲突的地方,修改后再合并)
$ git branch -d branch-a #分支内容合并到主干后删除branch-a分支
$ git branch -D branch-a #不论分支内容是否合并到主干,均删除branch-a分支
$ sudo apt-get install gitk #安装gitk,gitk可以在图形界面查看所有分支及改动信息
$ gitk #启动gitk查看分支及改动信息
$ git clone /home/flynewton/hello-git hello-git2 #克隆hello-git到hello-git2中
$ cd hello-git2
==========================================================
$ 修改hello-git2中的源代码并提交
==========================================================
$ 创建分支branch-b,并修改分支中的源码并提交
==========================================================
$ 进入hello-git文件夹中
==========================================================
$ git fetch /home/flynewton/hello-git2 master:hello2-works #将hello-git2主干代码作为本地的新分支hello2-works
$ git -p master..hello2-works #查看本地主干和hello2-works分支的差异
==========================================================
$ git pull /home/flynewton/hello-git2 master #合并hello-git2的主干到本地分支
$ git pull /home/flynewton/hello-git2 branch-b #合并hello-git2的分支到本地分支
4.历史记录查询
$ git log #查询历史记录,返回commit 59e67766668f315a3b84beaca709777cdb6c8f09这样的标记码
$ git show 59e67766668f315a3b84beaca709777cdb6c8f09 #查看该commit的记录
$ git tag V1 59e677 #标记为V1
$ git show V1 #查看V1记录
$ git branch branch-c V1 #建立基于V1的分支
$ git log V1..V3 #显示V1至V3的历史记录
$ git log branch-a..branch-b #显示在branch-b但不在branch-a中的历史记录
相关推荐
这篇笔记完全是自己学习和使用时候记录下来的笔记,笔记内容覆盖Git的介绍和GitHub的使用,完全能够使个人零基础到基本入门,禁止拿来商用!
提炼了各种Git 应用场景的命令和基础说明与分类,基本满足大型软件开发要求,我主要基于Android 系统开发,几百个git 仓库各种分支,合并。
git 学习笔记,适合新手入门,能够熟悉git基本指令,并将代码上传到 github,并在github上下载代码,并模拟了协同开发过程中使用 git ,仅供自己学习使用
git学习笔记,让您快速掌握git使用,包括了git的基本知识以及一些常用的命令
Git常用命令的总结,适用于Git初学者和...1.Git安装配置 2.Git工作流程 3.Git工作区、暂存区和版本库等概念 4.Git创建仓库 5.Git基本操作 6.Git分支管理 7.Git查看提交历史 8.Git标签 9.Git远程仓库 10.Git服务器搭建
git学习的实验笔记 在Linux上从零开始用实验验证每一个命令的用法,以及思考验证。
git常用命令总结,虽说git操作比较多。但和开发相关的命令没有多少,这是自己总结的开发过程中要经常使用的命令,基本够了。
git入门笔记, 基本操作,主要记录了学习git的过程使用到饿一些基本命令,比如常见的git pull, git push, git status, git log等
现在互联网公司 运用git搬运代码是非常常见的 整理了一些git基本命令来快速学会git
了解git的原理以及基本使用,能够快速上手,方便查找常用命令
使用git add , git commit和git push对存储库进行更改 比较本地和远程存储库 一些术语和概念 从上面的目标中可以看到,在本课程中,我们将深入研究并使用几个Git命令。 我们首先要看的是GitHub平台上的概念forking...
1. Git基础 1.1版本管理 1.1.1什么是版本管理 版本管理是一种记录文件变化的方式, 1.1.2人为维护文档版本的问题 文档数量多且命名不清晰导致文档版本混乱 每次编辑文档需要复制,不方便 多人同时编辑同一个文档,...
本文为Git初学者提供了一份详尽的入门指南,介绍了Git的基本概念、安装方法、常用命令以及基本工作流程。通过简单明了的步骤和示例,帮助读者快速上手Git,开启代码版本控制之旅。
目标你将能够: 描述分叉存储库和克隆存储库之间的区别使用git clone克隆存储库使用git add , git commit和git push对存储库进行更改比较本地和远程存储库一些术语和概念从上面的目标中可以看到,在本课程中,我们...
S3基本使用事件 数据库隔离等级验证 常用JVM命令验证 AOP实用技巧;某些打日志等 m3u解析器 知识汇总:::: 其他 GIT地址 UI资源 , 限流算法参考 安卓 基于改造升级打怪 iosched 格子 模块说明 按照创建...
github 入门学习笔记 ,快速掌握github的基本原理以及使用。
下面是我学习git过程的一些笔记。 除了这些注释,我还编写了一个服务器组件,允许通过 http 允许自定义 css 以 HTML 格式查看这些注释,并且在将这些注释更改为本地存储库时,我还提交了这些注释。 1/2。 基本 只是...
git 基本操作 git status 用来查看结果 git diff 查看修改了什么 git log 显示最近的提交信息 显示的内容中比较重要的是唯一的编码(SHA1计算的值),和commit 时添加的评论 git 使用 HEAD 表示当前版本,上一版本为...
Git Learn自主学习Git的观念和指令后做的统整&学习笔记目录修改Commit纪录如果有特定档案不想放在Git里面一起备份或是上传到Git Server的话,例如:资料库密码,云端伺服器的金钥...可以加入.gitignore中检视特定档案的...