上午
github初体验
1 创建远程仓库
登录github https://github.com/ 建立一个新的存储库:点击new repositories
a ,在Repository name处填入仓库名字,例如hellogit,选择b不是公开的).b, 在Description处可以对这个远程仓库写一个描述(可选),c, 选中Initializethis repository with a README,这样GitHub会自动为我们创建一个README.md文件。d, 点击create repository按钮便成功创建了一个远程仓库。
2 从远程clone一个仓库/repository
用git clone命令克隆一个本地库。a, 在本地建一个空文件夹(文件名英文),例如testgit,鼠标右键,选择Git Bush here,输入命令 $ git clone git@github.com:xiakejie/hellogit.git
打开我们刚克隆的远程仓库,里面有一个README.cd文件,用notepad++打开可看到文件内容,同我们github是一样的(notepad++是一个文本阅读器,下载链接:https://notepad-plus-plus.org...
git初体验
1 创建版本库
本地电脑创建一个空目录(英文命名),例如localgit,空目录下鼠标右键,选择Git Bush here,运行下列命令
这样,我们便在本地创建了一个名为loacalgit的版本库(仓库)
2 给版本库添加文件
上步创建的版本库是空的。现在我们在loacalgit版本库添加一个文件,是的,就在本地loacalgit版本库目录下新建一个文本文件,例如filegit.txt,用notepad++打开,随意编辑一些内容保存。
现在filegit.txt只是我们本地的一个文件,但他在localgit版本库内,版本库内的所有文件都可以被git管理起来,那么我们就可以将filegit.txt文件添加到版本库了。首先,将文件添加到版本库。注意我图片的目录
然后将filegit.txt文件提交到版本库,同样在刚才的目录下
命令中的-m 是对本次提交的一个说明。
3 浅析$ git add <file> 与$ git commit
上节我们知道提交文件是分两步的,那么add commit分别作用的对象是什么呢?git既然作为分布式版本控制系统,那我理解的分布应该这里算是吧。git在提交文件时,是分步提交的,第一步也就是git add是把‘修改’的文件从“工作区”提交到暂存区,第二步也就是git commit是把暂存区‘所有’修改的文件提交到“当前分支”。工作区就是指我们本地的文件夹,分支是在创建版本库时$ git init后git为我们自动创建的分支master(往上翻图可以看见)。
熟能生巧,再来一次。$ git status查看工作区状态。新建一个文件,secondfile.txt。随意编写内容。为filegit.txt增加一句内容。更改文件内容,但没有提交到暂存区,我们可以观察到本地文件管理器中文件的特征符号是这样的:
$git status查看工作区状态
运行命令后我们可以看到,未提交的更改filegit.txt和没有跟踪的secondfile.txt文件(Git了解secondfile.txt的存在但没有指示跟踪该文件)。仔细观察,git给予我们操作提示('use')。此时针对filegit.txt,我们可以$ git add <file>将其从工作区提交到暂存区,也可以$ git checkout -- <file>放弃工作目录的修改(将修改删除,使filegit.txt回到未更改前状态。当你不想要此修改时,可以执行此命令).这里我们先$ git checkout --filegit.txt
$ git checkout -- <file>
作用,未$ git add前,放弃工作区的修改
我们继续看$ git status。再次更改filegit.txt内容。
运行命令$ git status
这下我们便把两个文件都提交到暂存区,并且都提交到了分支,注意观察本地filegit.txt文件的图标的!也不见了。我们再次运行$ git status
提示信息说明工作区是干净的(你没有修改工作区)。
4 git 强大的管理功能
我们按照一个文件的生命历程来循迹。所谓的管理功能,我们暂时理解为容错功能吧。
git add前
git checkout -- <file>————这时filegit.txt就像一个小孩刚出生,爱怎么闹就怎么闹,大人允许你犯无数的错。此时,就像写word文档一样,在你本地,想怎么改就怎么改。另一种情况之前讲过,就是filegit.txt在本地修改了,并且在本次修改前git add过,你想一键还原到上次git add前的样子,那么git提供git checkout -- <file>允许你一键还原。
git add后git commit前
git reset HEAD <file>————我们在filegit.txt增加一些文本,并把filegit.txt提交到暂存区。此刻发现增加的文本有错误,怎么办。git add之后代表着修改了暂存区中filegit.txt,git reset HEAD <file>可以将暂存区的修改撤销,相当你此次没有git add
$ git diff HEAD -- <file>————用来查看工作区和最新版本库的区别。此时git reset HEAD后,暂存区“等于”最新版本库,从图得知工作区比暂存区/版本库多了一行"git add后git commit前"
git commit后
$ git reset -- hard HEAD~n——回退至n版本,HEDA代表当前最新版本,HEAD^代表上一版本,HEAD^^带表上上版本。此时我们将'git add后git commit前'刚才这一修改提交到分支后发现,应将修改错误,正确的修改应该是'git commit后'。执行$ git reset -- hard HEAD^回退至上一版本,重新修改提交。
从图片中我们可以清楚看到前后变化。
关联远程库github
1 本地仓库关联远程仓库
在朝阳篇我们已经知道如何在github网站创建一个仓库。现在我们在github上创建一个仓库——remotegit。我们将这个远程仓库与我们之前建的localgit关联。
在本地localgit目录下运行命令:$ git remote add origin git@github.com: xiakejie/remotegit.git把本地库内容推送到远程$ git push -u origin master(-u 实在你第一次推送时用)以后便用后面这条命令$ git push origin master。本地库关联是同样注意目录,不清楚看下图,xiakejie是我的账户,实验时换成自己的
这时登录github网站,便可看到在remotegit仓库与本地库内容一样。
关联远程库几个注意点
1,前提是你本地已有一个git可管理的仓库,何为git可管理,即你本地的文件夹或文件图标有蓝色的对勾。
2,创建远程仓库时(注,紧贴该文字正数第二张图片,是“关联远程仓库几个注意点”内容上面的图片)
3,点击创建按钮,进入到下一步,可以看到github给我们三个提示。我们选择第二个。点击图中黄色区域,将命令复制,粘贴到git命令窗口。接着你就可以$ git add filename,$ git commit -m '',git push origin master等命令提交你本地文件了。这时连同你本地文件的目录一块同步到远程。
至此我们便讲完了git与github上午篇
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。