Github学习笔记 (一)

学习网址

一、创建版本库

版本库(仓库),英文名repository,库里的文件修改、删除都能被Git跟踪。

1 创建一个版本库,首先选择一个合适的地方,创建一个空目录:

Pwd 命令用于显示当前目录。在我的Mac上,这个仓库位于   /Users/michael/learngit

!!!如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

2 通过 git init 命令把这个目录变成Git可以管理的仓库:

瞬间仓库就建好了,这是一个空仓库(empty Git repository)。当前目录下有一个.git目录,这个目录是Git来跟踪管理版本库。

如果没有看到.git目录,是因为这个目录默认是隐藏的,用ls –ah命令可以看见。

3 把文件添加到版本库

注意:所有的版本控制系统,只能跟踪文本文件的改动,如TXT文件,网页多有程序代码等。版本控制系统可以明确告诉每次的改动。但是视频和图片这些二进制文件,虽然也能由版本控制系统管理,但是无法跟踪文件的变化。Microsoft的Word格式是二进制格式,因此版本控制系统是无法跟踪Word文件改动。

使用Windows的要注意:不要使用Windows自带的记事本编辑任何文本文件。会出现错误。下载Notepad++代替记事本,把默认编码设置为UTF-8 without BOM。

现在开始添加一个readme.txt文件。这个文件必须要放在learngit目录下,子目录下也可以。

第一步,用命令 git add告诉Git,把文件添加到仓库

执行这个命令,没有任何显示说明添加成功。

第二步,用命令git commit 告诉Git,把文件提交到仓库。

解释一下git commit 命令,-m 后面输入的是本次提交的说明,可以输入任何内容,最好写标注信息,方便从历史记录中找到修改记录。

命令执行成功后会告诉你,一个文件别改动,插入两行内容(readme.txt有两行内容)。

因为commit可以一次提交很多文件,可以多次add不同的文件。所以需要add,commit两部提交文件:

4修改仓库中文件(readme.txt)的内容。

运行git status ,该命令可以让我们时刻掌握仓库当前的状态。

git diff 能够知道之前修改的内容。红色文字是修改之前的,绿色文字是修改之后的。

提交修改和提交新文件是一样的两步:

第一步,git add :  $ git add readme.txt。 没有任何输出

第二部,执行之前,先运行git status查看当前仓库状态:

git status告诉我们,将要被提交的修改包括readme.txt,然后就可以放心的提交了:

再次查看仓库状态:

二、版本回退

版本库中的文件不断的被修改。当文件错乱或误删等其他状况发生时,还可以从最近的一个commit恢复。

我们可以用git log命令查看历史记录,显示的是从近到远的提交日志:

如果输出信息太多,看的眼花缭乱,可以试试加 –pretty=oneline 参数:

提示:前边一大串黄色字体是commit id (版本号) ,和SVN不一样,git不是使用1,2,3…递增的数字,是SHA1计算出来的一个强大的数字,用十六进制表示。因为git是分布的版本控制系统,后面要研究多人在同一版本库里工作,如果都用1,2,3作为版本号,就会有冲突。每提交一个新版本,git会把它们自动串成一条时间线。

Git中HEAD表示当前版本,上一个是HEAD^,上上一个版本HEAD^^,往上100个携程HEAD~100.

回退到上一个版本,使用git reset:

$ cat readme.txt 查看当前版本内容(确定是上一个版本的内容):

此时查看版本记录,change it’s nice 已经没有了:

回到未来的某个版本,$  git reset –hard 版本号,版本号写前几位就可以:

当忘记想要回退到的版本号,可以使用git reflog

三、工作区和暂存区

工作区(Working Directory)

就是在电脑中能看到的目录,如 learngit 文件夹就是一个工作区

版本库(Repository)

工作区中有一个隐藏目录 .git , 这个不是工作区,是Git的版本库。

版本库中有很多东西,其中state(或index),还有Git为我们自动创建第一个分支master,以及指向master的一个指针HEAD

上传文件:

第一步,git add ,就是把文件修改添加到暂存区;

第二步,git commit,实际就是把暂存区的内容提交到当前分支。

只有将修改的文本文件 git add 加到暂存区stage中,才能使用git commit 添加到master中

四、撤销修改

1、 git checkout -- file 可以丢弃工作区的修改

上述命令表示把readme.txt文件在工作区的修改全部撤销,这里有2种情况:

一种是readme.txt自修改后还没放到暂存区,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区的状态。

撤销修改就是回到最近一次git commit 或 git add 时的状态

2、 git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区

五、删除文件

在Git中,删除也是一个修改操作。

一般情况,通常直接在文件管理器中把没用的文件删了,或者使用 rm file 命令删除

现在,有两个选择:

一个是,确实要从版本库中删除该文件,就用 git rm 删除,并且 git commit -m "xxx"

此时,文件就从版本库中删除了。

另一个是删错了,因为版本库中还有,所以可以把误删的文件恢复到最新版本中:

$  git  checkout  --file

时间: 2024-10-16 22:13:54

Github学习笔记 (一)的相关文章

GIT & GitHub 学习笔记

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活, 干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网 速慢的话,就纳闷了. Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑 上.既然每个人的电脑都有一个完整的版本库

Github学习笔记-不定时更新

最近在搞一个外包项目,有个非常厉害的师兄带我,他写后端,我负责前端部分,项目合作需要用到github,这也是早晚要接触,记录下项目过程中对github/git使用的学习笔记. 1.在网上看了一些教程之后在自己的github上创建了一个仓库,然后尝试创建分支,push,感觉好像可以了之后,就在项目上建立分支然后push,由于第一次使用不太明白,不小心push到主分支上去了,网上看到的创建分支是git branch branch_name 然后切换到分支git checkout branch_nam

git/github学习笔记

郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ps:关于git的更详细的介绍于优点在此就不介绍了,教大家怎么用是关键.:) ==============运行环境======== 系统:windows git : Git-1.7.3.1-preview20101002.rar  下载地址:http://d.download.csdn.net/do

Git&Github学习笔记

感想:以前学习了好几次Git,看了几个人的技术文档,可是总不会用,当然也有可能是因为我太笨,很多人把Git教程写的很高深,一堆代码看的我头晕,遇到简单的查查还能行,可是随着越来越深,积累的问题越来越多,最后学习总是中断,不得不从头来,来回折腾,真是恼火,恼怒自己的智商不够! 后来一个朋友向我推荐了廖老师的Git学习方法,我一学习,就停不下来了,在研期间任务多,利用空闲时间花了一个礼拜总算学完,认识也比较深刻,学习了廖老师的Git教程,总体感觉廖老师很走心,也很感谢朋友老葛送给我的硬货. 1 Gi

eclipse使用git及github学习笔记

项目托管 1.首先需要在github上建立一个远端仓库  点击Create repository后,会在github上建立相应的git仓库,并会出现如下界面: 复制https或者ssh的仓库地址,远端仓库的操作即告一段落. 2.eclipse创建项目.而后在项目上右键–>Team–>Share Project,会打开如下界面: 此界面需要我们对该项目的本地git仓库进行配置,可以使用当前项目所在目录作为该项目的git仓库,也可以自定义其他位置的目录作为git仓库.需要说明的是,如果自定义其他位

GitHub 学习笔记

1.注册帐号 官网:https://github.com/ 2.点击导航栏 ‘help’  ,帮助页面中 点击 set up git 选项 页面会根据当前操作系统.显示合适的安装步骤 1.下载github for windows7 地址:https://windows.github.com/ 安装包 GitHubSetup.exe 文件很小 (fuking !  .net 环境安装比较费时) 2.安装完成后会有产生两个工具的快捷图标 :GitHub 和 Git Shell (暂时忽略) 双击 G

Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档

前言 你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程.近期 Github Pages 的改进使得从不同的数据源来发布您的网站更加的方便,其中的来源之一就是你的仓库的 /docs 目录. 文档的质量是一个软件项目健康发展的标志.对于开源项目来说,维护一个可靠而不出错的知识库.详细说明所有的细节是至关重要的.精心策划的文档可以让增加项目的亲切感,提供一步步的指导并促进各种方式的合作可以推动开源软件开发的协作进程

GitHub学习笔记二·远程端的操控

对于远端,当你新建一个项目的时候,需要在网页处新建,在新建项目的页面,会有一段提示你上传本地项目到此远端方法的代码,直接拷贝粘贴到git shell就可以解决问题,不再详述. 当你把代码上传到一个已经存在的代码时,首先你要先和远端建立联系 git remote add REMOTE-NAME https://XXX.XXX.XXX 建立联系后想要上传你本地的代码,只需要使用 git push REMOTE-NAME BRANCH-NAME 就可以了,默认的remote name一般是origin

GitHub学习笔记(五)- 删除文件

1.添加到Git并提交的文件被删除后,因工作区和版本库不一致,git status命令会告诉我们哪些文件被删除了. 2.1.确定要从版本库中删除该文件,用命令git rm删除,并且git commit,文件从版本库中被删除. 2.误删,利用git checkout命令用版本库里的版本替换工作区的版本,还原文件.