git的使用(二)】的更多相关文章

小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 Git 中: 第二种是从一个服务器克隆一个现有的 Git 仓库 git  init  –bare  git 创建一个裸仓库 2.git仓库有三个区域 工作区working directory日常编辑代码的地方 历史仓库history repository是commit指向的一个树形结构 暂存区Sta…
一.存储方式 如果让我们设计一个版本控制系统,最简单的方式就是每做一次更改就生成一个新的文件. 这样的方式太占用空间,所以传统的版本控制系统都是保存一个文件的某个版本的全部内容以及其他版本相对于这个版本的更改,这样就节省了大量的空间. 不过Git却反其道而行之,采用了类似生成副本的方式保存每一次更改,我们称之为快照. 如果还有疑惑,下面我们会详细介绍这张图代表的意思. 二.存储对象类型 Git中有很多存储对象,这里我们着重讲解其中的三个:Blob(块).Tree(目录树).Commit(提交).…
一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某个时刻可以还原. 1.创建一个空目录(目录名中最好不要包含中文) pwd命令用于显示当前目录 2.通过  git init  命令把这个目录变成Git可以管理的仓库 此时,目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的 ls -ah 命令可以看到隐藏的.git目录 3.把文件添加到…
一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的.如图: 如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下: 1.1.保留webpack_test项…
续 2.15 删除文件 $ rm testDel.txt删除掉工作区的testDel.txt文件, 1)这时可以通过git checkout -- testDel.txt从版本库恢复该文件到工作区 2)确实要删除它, 可以使用 git rm testDel.txt,  然后提交git commit -m 'info' 3) 如果删除了,并且提交了,再用checkout -- filename就找不到文件了, 只能通过版本号还原 git reset --hard 0581460, 再 git ch…
之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法. 一.push和fetch还需要输入用户名和密码? 解决办法:看看公玥是否添加成功,输入ssh -T git@git.oschina.net,若返回Welcome to Git@OSC, yourname! 则添加成功.如果成功,则进入.git/目录改一下config文件里的url参数,把https地址改成ssh地址. 二.更新代码 1.git fetch,更新远端代码到本地…
使用Git作分支时,仅仅是对提交历史记录的一个引用,创建分支成本非常低,分支的切换快且简单.在分支管理方面,相对其他的版本管理工具,Git可谓是一骑绝尘. 开发过程中,我们可以针对任何的大小功能进行分支,甚至对一个bug进行分支,最大程度减少我们在中对文件的管理的复杂性.错误率和时间成本. Git分支有本地分支和服务端分支两种概念,本地分支根据每个开发人员的工作的情况,灵活按需创建和管理.服务端的分支基于产品或项目的周期,进行管理.但是管理的原则都应本着在确保软件产品的发布版本清晰和相应记录可完…
上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起>.上篇博客中所涉及的git命令也是git命令操作中常用的基础操作命令,本篇博客继续来总结一下git使用时常用的命令操作以及其他相关基础知识. 下方是本篇博客所会涉及的内容: .gitignore文件的配置 使用 git diff 来查看修改的内容 git 中文件移除 -- git rm git 中的文…
前面提交了一个test1.txt文件,接下来看看这个文件接下来的命运. 一.继续修改并提交 在test1.txt中修改后, git status 查看git的状态, 会提示我们文件test1.txt被修改了,但还没有提交.但到底修改了什么呢?接着往下看, git diff test1.txt 查看刚刚修改的内容, 会提示add a file,并且还知道添加了 i want some drink.既然文件被修改了,就需要重新添加并提交. 执行 git add test1.txt,然后再 git s…
一.前期工作: 1.准备好本地的文件夹 2.如果后期需要继续以该文件夹进行同步的,则需要配置该文件夹,方法请参考之前的  Git使用之一:创建仓储和提交文件 二.用clone(克隆方式下载) 在本地下载远程仓储数据的最简单方式是用clone命令,如: git clone   远程仓储地址 三.用pull命令实现 前面的clone在下载时会创建相应的项目文件夹,而使用pull则可以下载到指定文件夹,并且可以将本文件夹作为开发文件夹,当有更新后,可直接push到远程. 前提条件:采用pull命令时,…
Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具会很有用.但是一周下来,目前我还没用到Git,结果,Git代码几乎忘干净了... 接着整理,还是老规矩,博客其实是我的学习笔记,将学习的知识整理一下,以便以后查阅.在此,学习Git主要还是通过廖老师的教程,参见https://www.liaoxuefeng.com/wiki/896043488029…
一.Git的最小配置 1.使用如下命令创建Git的用户名和邮箱,如下所示: $git config --global user.name 'your_name' $git config --global user.email 'your_email' 使用如下命令清除创建的用户名和邮箱,如下所示: $git config --unset --global user.name $git config --unset --global user.email 2.在global的位置处,分为有三种参数…
一.创建版本库 1.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"$ git config --global core.autocrlf false /…
首先你需要注册一个github用户名,我的github账户是:1654218052@qq.com 由于本地的git仓库和github的仓库是通过SSH加密的,所以我们还需要设置一点东西哦 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Git Bash,创建SSH Key: $ ssh-keygen -t rsa -C "email@example.com…
远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自 的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交.…
分支管理 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 其他版本控制系统如SVN等都有分支管理,但是用过…
一.分支 1.git中如何保存版本 在我们以往使用文件来进行版本控制的时候,都是将上一个版本复制一份,然后在其基础上进行修改. 但在git中,git只保存当前版本和上一个版本之间的差异,这样可以节省存储空间, 在生成版本的时候速度也会更快. 2.Master主线 如下图所示: 当只有一条主线Master时,新版本都是在上一个版本的基础上进行修改的,例如Version2在Version1的100个文件基础上,新增了20个文件,并修改了其中10个文件. 也就是说Version2只需要保存新增的20个…
在上篇博客中留了一个问题,那就是git restore命令是做什么的,下面重点分析. 一.概述 git restore命令是撤销的意思,也就是把文件从缓存区撤销,回到未被追踪的状态. 该命令有git restore <file>和git restore --staged <file>两种常用的用法. 二.详述 在git中有工作区.暂存区.仓库区(本地代码区)三部分,要注意git restore命令在工作区是不会其作用的,也就是一个文件在工作区,使用git restore是不起作用的…
查看仓库状态 git status 可以查看有没有文件改动 查看改动情况 git diff readme.txt 以readme.txt为例,可以看readme.txt的改动情况,但对于二进制文件来说不能知道具体的情况,只能知道改动的长度 所以推荐用文本编辑器utf-8编码对其进行文本编辑 改动后添加提交 git add git commit 没有任何文件匹配的error 一般是因为没有git config导致…
学习地址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 常用git命令: 1.git init          初始化本地库 2.git add <fileName>          添加文件到缓存区 3.git commit <filename> –m "infomation"         向本地库提交文件 4.git status…
搭建完git之后,我们希望可以在线看见源码,以及使用http协议上传下载源码. 安装gitweb.httpd: yum install gitweb yum install httpd gitweb默认安装到了/var/www/git下,其配置文件在/etc/gitweb.conf下,另外,httpd的配置文件/etc/httpd/conf.d/git.conf.安装完可以进去看一眼. 修改/etc/gitweb.conf,设置项目路径: 新增一行: $projectroot = "/var/w…
在这个系列的介绍篇中,我们学习到了谁应该使用 Git,以及 Git 是用来做什么的.今天,我们将学习如何克隆公共 Git 仓库,以及如何提取出独立的文件而不用克隆整个仓库. 由于 Git 如此流行,因而如果你能够至少熟悉一些基础的 Git 知识也能为你的生活带来很多便捷.如果你可以掌握 Git 基础(你可以的,我发誓!),那么你将能够下载任何你需要的东西,甚至还可能做一些贡献作为回馈.毕竟,那就是开源的精髓所在:你拥有获取你使用的软件代码的权利,拥有和他人分享的自由,以及只要你愿意就可以修改它的…
昨天讲了Git安装使用和基本的命令,今天我说一下如何通过Git将本地管理的仓库添加到远程库 首先我们需要在www.github.com(如果打不开网页,请注意科学上网)上注册一个免费的账号,邮箱验证完成后就可以登陆了,找到new repository,点进去后给你的仓库起个名字,然后点create repository,这样你的远程仓库就建好了 接下来需要将在本地提交完成的仓库添加到远程库,根据提示在终端输入: git remote add origin https://用户名:密码@githu…
1.查看HEAD提交: git show HEAD 在git中,目前提交被称为HEAD提交,输入上述命令可以查看当前提交所有文件的修改内容. 2.撤销更改: git checkout HEAD filename filename为你想要撤销的文件名,该命令可以将文件恢复到上一个提交的版本. 3.git add添加多个文件: git add filename1 filename2 git add -A 第一个是添加两个文件的命令,第二个是将添加所有修改的命令. 4.从暂存区中分离文件: git r…
Git stash 储藏工作现场(当你不得不新建分支,或者切换分支,但是当前工作区的修改并不想提交) git stash Saved working directory and index state WIP on dev: f52c633 add merge   用git status查看工作区,就是干净的,然后可以放心的切换分支新建分支,去做自己的事情,比如新建分支改好bug,切回到master分支,合并修改好的bug到master分支. 再回到dev分支,想要继续工作 Git status…
分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流. 你将经历如下步骤:1. 开发某个网站.2. 为实现某个新的需求,创建一个分支.3. 在这个分支上开展工作. 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补. 你将按照如下方式来处理:1. 切换到你的线上分支(production branch).2. 为这个紧急任务新建一个分支,并在其中修复它.3. 在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支.4.…
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在,运行git status命令看看结果: $ git status # On branch master # Changes not staged for commit: # (use "git add <file&…
介绍使用TortoiseGit创建分支并push到gitlab项目库,转载请注明出处. 一.创建一个新的文件夹,把要待编辑的工程从gitlab上pull到该文件夹. 其中URL从gitlab的对应项目中复制 . Pull完成后: 二.创建本地分支 右键文件夹空白处选择TortoiseGit->Create Branch,在Branch框中填写新分支的名称. 设置好分支名称.若选中”switch to new branch”则直接转到新分支上,省去通过“Switch/Checkout”切换到新创建…
1.创建新的git仓库 初始化一个Git仓库,使用git init命令. 上图中我们新建了目录/home/honey/cxf,并进入目录cxf执行命令git init完成新git仓库的初始化,初始化成功后cxf文件夹里出现.git文件,这是git仓库的文件,不可删除和更改. 2.仓库中编辑文件,添加到仓库并提交 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件: 第二步,使用命令git commit,完成. 3.git statu…
使用Git时,文件的生命周期如下:…