GIT学习笔记1--基本使用
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学习笔记1--基本使用相关推荐
- Git学习笔记与IntelliJ IDEA整合
2019独角兽企业重金招聘Python工程师标准>>> Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:htt ...
- Git 学习笔记:自定义Git(完)
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:标签管理以及GItHub
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:分支管理3
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:分支管理(2)
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:分支管理(1)
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:远程仓库
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- Git学习笔记:修改
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- 取得 Git 仓库 —— Git 学习笔记 04
取得 Git 仓库 -- Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区.索引.本地版本库之间的交互:二是本地版本库和远程版本库之间的交互.第一块是基础,第二块是难点. 下面, ...
- Git 的安装与初次使用 —— Git 学习笔记 03
Git 的安装与初次使用 -- Git 学习笔记 03 Git 的安装与初次使用 -- Git 学习笔记 03 安装 Git 在 Linux 上安装 在 Windows 上安装 初次运行 Git 前的 ...
最新文章
- SAP QM 事务代码QE01录入结果后回车,为啥不弹出Manual Valuation窗口?
- CentOS 6.x 使用安装光盘作为yum源
- RAC安装时需要执行4个脚本及意义
- 及上一篇linux安装mysql的说明
- OCR磁盘的导出和导入、备份和恢复以及移动(ocrconfig命令的应用)
- 用Python做垃圾分类
- 通过jQuery源码学习javascript(三)
- oracle表空间可以更改吗,如何更改Oracle数据库表的表空间?
- 【专项测试】京东“安全测试”
- 认知盈余时代,知乎是如何运营的
- 如何卸载office201032位_32位office2010卸载不彻底怎么办
- CommonAPI编写代码
- python下载图片代码_基于Python下载网络图片方法汇总代码实例
- colorbox去除close关闭按钮,附上colorbox的基本使用方法
- 论微服务架构及其应用
- css学习11:font-style字体样式
- 快点来学吧!9次Android面试经验总结,已开源
- echarts网络拓扑图动态流程图
- [git]上传代码到github
- Linux系统调用(syscall)原理(转载)
热门文章
- 信息学奥赛一本通 1245:不重复地输出数 | OpenJudge NOI 1.11 08:不重复地输出数
- 信息学奥赛一本通 1919:【02NOIP普及组】选数 | 洛谷 P1036 [NOIP2002 普及组] 选数
- 线性代数 —— 线性递推关系
- I NEED A OFFER!(HDU-1203)
- 信息学奥赛C++语言:数字卡片
- 信息学奥赛C++语言: 素数个数
- 信息学奥赛一本通C++语言——1039:判断数正负
- 15 MM配置-BP业务伙伴-定义供应商主记录的编号范围
- mysql安装权限_mysql 新安装时的权限
- 如何制定客户留存策略_企业如何制定数字化转型策略?