码迷,mamicode.com
首页 > 其他好文 > 详细

GitHub的练习使用

时间:2017-10-09 14:12:17      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:指令   别人   也会   tin   选择   account   直接   git merge   stat   

宋文泽的练习使用体验:

Windows系统下安装GIT非常方便,因为已经有人提供了完整的一个包,不需要自己再去做什么,只要点击打开安装就可以了。

练习使用GIT操作命令。

打开git BASH,首先要设置自己的用户名和邮箱,以便有一个记号,来区分自己和别人。使用命令git config --global user name“  ”

git config --global user email“  ”即可设置完成。这里需要注意的是,--global这个指令的意思,是表示你这台机器上所有的Git仓库都会使用这个配置。

创建完成后,可以通过git config user.name来查看自己的用户名信息。

 技术分享

技术分享

 

之后就是创建版本库了,把位置定位到自己想要创建的目录下,然后使用mkdir 命令,创建一个新的文本库文件夹,可以命名成自己喜欢的名字,

之后,CD进入该文件夹,使用git init 命令,创建仓库。

这个时候,我们就可以开始提交我们的第一份文件了。注意,我们自己创建的新文件,一定要在文本库目录下创建,不然git是找不到你的文件的。

技术分享

 

我的文本库文件夹名字叫Gitlearn存放在D盘目录下。在这个文件夹下创建文本,编辑一些内容,使用git add 文本.TXT 命令,可以提交了文件,但是

现在的状态仅仅是提交文件到暂存区,还并没有真正保存这个版本。

技术分享

 

我们使用git status 命令,可以查看仓库当前的状态,会显示文件是否有修改,

是否ADD,是否commit,这里显示我们有一个文件还未commit

技术分享

 

接下来,我们使用git commit命令,来提交这个文件,这样就完成了版本的存放。

技术分享

 

再次使用git status命令,显示没有修改的文本。

 

想查看修改内容,比较修改前后差异,可以使用git diff命令,这个时候修改过的内容会以绿色字体表示出来,需要注意的是,即使你只是添加

了一个回车,git也会显示那一行内容进行了修改,修改前是红色,改动后为绿色,一开始我感觉很奇怪,明明这一行是一样的,但是在修改内容

中还是显示了这一行,后才测试发现,仅仅多一个回车,也是会显示修改的。

技术分享

 

接下来就是如何返回下一个版本,可以使用git reset --hard head^来进行,表示返回上一个版本,我认为使用git reflog命令,查看commit

所有的ID,然后使用git reset --hard ID 来回到自己想要回到的版本更方便一些。

技术分享

技术分享

 

 

下面开始建立远程仓库,注册一个GitHub账号,通过ssh-keygen -t rsa -C命令建立SSH key,之后登陆GitHub,打开“Account settings”,“SSH Keys”页面然后,点Add SSH Key”,填上任意Title,在Key文本框里粘贴你的公钥信息。完成即可。

技术分享

 

之后就要创建一个远程仓库,进入GitHub,创建Repository,然后通过git remote add origin git@github.com:moyi1111/gitlearn.git命令,

使本地和远程仓库相连,注意用户名要写自己的名字。

连接成功后,就可以使用push clone pull 等命令来与远程仓库的版本进行同步啦。如下图所示:

技术分享

技术分享

 

 

之后还可以尝试一下分支管理,使用checkout 命令来切换分支,branch命令来查看当前分支链和建立新的分支。merge命令来合并分支。

技术分享

技术分享

技术分享

技术分享

 

这里需要注意的是,合并分支的时候,如果主链和分支同时更新版本,有内容冲突的话,是不能够直接进行合并的,需要解决冲突。

发生冲突后,刷新文件内容,会有两个版本的冲突内容提示,手动解决冲突后,就可以进行合并了。

技术分享

技术分享

 

 技术分享

 

接下来开始添加组员,找到自己的team31项目找到setting,然后添加Collaborators等待他们同意就好啦

技术分享

 

同样的,在远成仓库,不同的组员如果同时更新内容,也会发生冲突的。这时候我们就需要pull命令来抓取远程的新提交,更新之后,我们再进行

相应的更新。

技术分享

 

这样,小伙伴们就可以进行互相之间的交流合作啦~

 

吕森的练习使用体验:

一开始只是听说过鼎鼎大名的GitHub,后来需要找一些源码,登陆过GitHub网站。当时错误地认为GitHub类似论坛网站的样子,好像并没有什么特殊的地方,更没有听说过Git这个软件。在课上听老师简单介绍过后,自己动手查了一下有关GitHub和Git的资料,才发现Git和GitHub的强大与便捷。查字典发现Hub是集线器的意思,突然觉得GitHub这个名字取的是多么形象(感叹开发者的脑洞)。Git是目前世界上最先进的分布式版本控制系统,那这个系统的优势在什么地方呢?当我在Git官网看到这个图的时候,发现Git的精妙完全可以呈现在这幅图上:

技术分享

这幅图是官网上看到的,我觉得它将Git的功能表现的淋漓尽致。下面我就介绍一下我学习到内容和Git的几个非常实用的功能。

1.创建版本库。

两个步骤:一、选择一个目录。二、用 git init 命令将此目录变成Git可以管理的仓库。如图所示:

技术分享

 

2.在版本库中添加文件。

首先将文件放到learngit目录下(即创建的版本库目录下),然后用命令 git add 将文件添加到仓库,然后用 git commit 将文件提交到仓库。技术分享

 

3.掌握工作区状态。

使用 git status 命令可以查看工作区的状态,可以让我们时刻掌握工作区的状态,

技术分享

 

并且可以用命令 git diff 来查看修改的内容。

技术分享

 

4.版本回退。

当我们一不小心将当前的工作区文件误操作了,想恢复原始的文件时,可以通过版本回退功能来将当前工作区的文件恢复到先前的版本。修改的版本有很多次,那么想回到哪一次呢?我们可以先通过命令 git log 来查看历次的版本内容,

技术分享

 

然后来决定回退到哪个版本。使用命令 git reset 来回退指定版本。

技术分享

 

5.撤销修改。

由于一时的疏忽,导致了错误的修改,但是一不小心将修改 add 命令到了暂存区,遇到这种问题应该怎么办呢?可以使用命令 git checkout – readme.txt (readme.txt为想要撤销的文件名称)来丢弃工作区的修改。

技术分享

 

6.删除文件。

由于版本库中的某个文件已失效,或者需要丢弃,这是需要从版本库中将文件进行删除。我们可以使用 git rm test.txt (test.txt为需要删除的文件)命令并且 git commit来将文件从版本库中删除。

7.远程仓库(GitHub)。

GitHub,一个非常神奇的网站,它可以用来免费的管理Git 的仓库。具体如何管理的呢?

首先需要将本机的Git 和 你和GitHub 账号关联起来。输入命令 ssh-keygen -t rsa -C youremail@example.com 你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。可以输入 cat ~/.ssh/id_rsa.pub 来查看SSH 秘钥:

技术分享

 然后登陆GitHub账号,打开“Account settings”中的“SSH Keys”页面,点“Add SSH Key”在Key文本框里粘贴id_rsa.pub文件的内容并提交即可,这样就把你所使用的电脑和你的GitHub账号关联起来了,通过本机的Git软件就可以对你的远程仓库(GitHub)进行管理。

8.远程库。

(1)添加远程库并关联。登陆GitHub,点击右上角,创建一个新的库,并且将本地库和远程库相连接,可以使用下面命令: git remote add origin git@github.com:lvsen0228/learngit.git

技术分享

 (2)把本地库的内容推送到远程库。使用命令 git push -u origin master查看GitHub就会发现是否成功

技术分享

 (3)从远程库克隆。使用命令 git clone 可以从远程库克隆到本地。

技术分享

 

9.分支。

开发一个大型的工程时,肯定是多人协作完成的,每个人负责一个部分,在Git 中就是每人负责一个分支,先在各自的分支上进行工作,互不影响到各自的工作。然后再进行合并成一个主要分支上,就可共同完成这个大型工程。

(1)创建并切换到分支。用命令git checkout –b dev

技术分享

 (2)在分支上进行修改并提交。

技术分享

 (3)Dev分支工作完成后,切换回主分支master

技术分享

 (4)把dev分支的工作成果合并到master分支上,使用命令 git merge

技术分享

 (5)合并完成后,删除多余分支dev,使用命令 git branch –d dev

技术分享

 

在多人协作开发一个项目时,一定要注意最好的方式是每人在各自的分支上进行工作,然后再进行合并,这是最好的方式。

Git软件以及GitHub还有很多非常强大的功能,目前接触到的比较实用的功能,我简要的罗列在上面了。其他更加强大的功能,希望在以后的学习工作中慢慢体会学习到。总之,Git是一把开发软件的利器,我们要熟练的使用它。

 

黄佳伟

学习使用git

一、本地基本操作

创建版本库learngit

在learngit目录下创建文本文件helloworld.txt

将文件放到git仓库

先使用git add 命令将文件放入stage暂存区。

 技术分享

再使用git commit 命令将暂存区内容提交至当前分支。

 技术分享

注:“wrote a helloworld file”可以看作是对于此版本修改的命名,方便后面的版本回退操作。

对helloworld.txt 文件内容进行修改操作

 技术分享

使用于git status 命令将查看仓库当前状态

技术分享

从以上命令可以看出helloworld.txt被修改,但只是被放在暂存区中并未准备提交。

使用git diff命令可以查看具体对helloworld.txt文件做了哪些修改

 技术分享

明确了修改后再使用git add和git commit命令将文件再次提交即可。不过在使用git commit提交任务前可以先使用git status查看到即将提交的修改包括了helloworld.txt.

 技术分享

技术分享

提交后,再次使用git status命令,可以看到nothing to commit没有需要提交的修改即工作目录是干净的。

 技术分享

再对文本文档提交一次名为append GPL的修改操作。

 技术分享

此时,Git仓库中已经被提交了 ”wrote a readme file”  “add distributed”  “append GPL” 三个版本。使用git log命令可以对它们进行查看:

 技术分享

使用git log --pretty=oneline命令可将复杂的代码简化以方便人查看:

 技术分享

如果想回退至上个版本,可使用git reset命令:

 技术分享

此处HEAD表示当前版本,上一个版本即为HEAD^上上个版本即为HEAD^^

使用cat命令查看helloworld.txt内容,可以看出内容已是上个版本:

 技术分享

并且此时版本库log中已经只有两个版本:

 技术分享

如果想要再回退到append GPL版本,就得从log中找到该版本的commit id再使用git reset命令便可回到该版本:

 技术分享

二、远程操作

Push

在GitHub上添加一个名为learngit的仓库

使用git push命令便可将当前本地内容推送至远程库

 技术分享

可以看到GitHub上也出现了同本地库相同的文件

 技术分享

Clone

在GitHub中创建新的名为huang的库,并自动创建名为README.md文件。

然后使用git clone命令克隆一个本地库:

 技术分享

再查看本地便可发现huang文件夹已被克隆:

技术分享

Pull与Fetch

Clone是对于GitHub上的库进行克隆到本地的操作,而在多人合作使用GitHub进行文件更新时,可以使用git pull或者git fetch命令实现本地库内容的更新。

 技术分享

不过git fetch和git pull还是略有不同,git fetch只会将本地库所关联的远程库的commit id更新至最新,而git pull会将本地库更新至远程库的最新状态。所以通俗来说git pull = git fetch + git merge。可见git fetch相较于git pull更加稳妥安全。

 

经过这一阶段的学习,对使用git已经有了基本的认识。意识到熟练使用git对日后的程序设计与团队合作都有很大帮助。所以还会继续研究并加以实践达到事半功倍的效果。

 

徐炜淇

 

查看本地git用户名和emial ,添加emial

技术分享

生成本地密钥,复制密钥到GitHub

技术分享

查看当前目录及其文件

技术分享

在GitHub建立分支,初始化仓库,commit注释本次提交

技术分享

技术分享

用push命令把本地文件提交到git上

技术分享

提交成功

 

 技术分享

将文件克隆到本地,并用编辑器进行修改,注释。查看与以前的不同,push

技术分享技术分享技术分享技术分享技术分享

最后,操作成功

技术分享

技术分享

 

GitHub的练习使用

标签:指令   别人   也会   tin   选择   account   直接   git merge   stat   

原文地址:http://www.cnblogs.com/songwenze/p/7636106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!