继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Git--团队开发必备神器

IT程序狮
关注TA
已关注
手记 372
粉丝 2505
获赞 8.4万

花了两天时间专门搞了一下git,整理一下分享给大家。下面我们开始。。。

一、学习使用git之前的准备(Windows环境下)
  • 在本地装一个git,并装上GitBash。(不会?会装QQ就会装git。。)
  • 去GitHub官网上注册一个账号。给个传送门———>>GitHub官网
二、做好准备之后,咱们先来扫一下盲,讲讲概念

git和GitHub有什么区别?(已泪奔。。。)

答:git是本地代码版本管理工具,我们写项目时,难免会要进行代码管理吧,比如我们每天写完代码之后,总要把它备份一份吧,原因很简单,万一你的工作空间(workspace)所在的硬盘突然挂了呢,不要说几率很小,可是,万一发生呢。。

我们总能感觉到git和GitHub之间好像是有什么关系。上面我们提到,git是本地代码管理工具,为了防止我们的工作空间(workspace)所在的硬盘突然挂掉,但是,你就不担心整块硬盘都挂了吗。。当然,这只是个小概率事件。更重要的是:我们在团队开发时,需要多人合作开发同一个软件,不可能我写了代码拷给你,你写了代码拷给我吧,我们需要一个统一的远程版本控制仓库:GitHub

三.我们开始GitHub之旅

1.首先解释几个单词的意思(⊙o⊙)…

后面会用到的,而且很重要的:

  • pull:拉
  • push:推
  • repository:仓库
  • branch:分支
  • status:状态
  • commit:提交
  • config:配置
  • global:全局的(属性,变量等)

2.画一张图来解释git本地操作,以及远程操作的逻辑流程

图片描述

  • 从上图中可以看出,我们日常编码时,首先是把工作空间里的更改的代码通过操作①来推送到暂存区(index,stage),然后如果我们确认这些代码正确,无须修改,那么就可以把它通过②推送给本地master分支,这里我们可以把master分支理解成本地的临时仓库,我们可以从这里恢复代码,也可以通过这个分支进行提交到远程GitHub上的master分支,把你的代码提供给别人。

  • 上图我们只是描述了由本地逐步推向远程的过程。我们先将这个高明白,后面我会反过来再操作一遍。

3.我们先实现步骤①

(1).如果我们对代码进行了更改,这里我们以一个文件readme.txt为例,来讲解。(也就是说我们现在工作区间假设是E://firstrep,里面有一个文件readme.txt)
(2).首先我们打开D://firstrep,在该目录下在空白处点击右键打开给Git Bash.exe,初始化一个本地仓库。

Administrator@HJQ1EBGYSWRMA1K /e/firstrep 
$ git init 
Initialized empty Git repository in E:/firstrep/.git/(master)

注意:只有以“$”开头的才是我们写的命令,其他的都是系统自动生成的提示信息,其中执行初始化命令之后我们可以看到路径名后面多了一个“master“,这说明我们初始化成功。

(3).我们现在来找一下工作区间,版本库,暂存区,以及本地master分支

  • 工作空间:E:/firstrep
  • 版本库:E:/firstrep/.git/(master)注意,这里.git文件夹是隐藏的,不可见,可以更改文件夹属性使其显现出来。
  • 暂存区和master分支:这两个东西都存在版本库文件夹下

(4).我们先对该文件进行更改:

git is very easy.

然后,我们把它提交到版本库的暂存区里(index,stage),执行如下代码,查看git状态

$ git status 
On branch master

Initial commit

Untracked files: 
(use “git add …” to include in what will be committed)

 readme.txt

nothing added to commit but untracked files present (use “git >add” to track)

这里会提示我们说:在工作空间多了一个文件,我们还没有添加到版本库

(5).下面我们把它加到版本库里的暂存区。

git add –all

这样,我们第①个环节已经执行结束。

4.下面我们来执行步骤②

我们刚刚把更改的readme.txt.添加到暂存区(index,stage),现在我们把再把它加到本地master分支。

$ git commit -m “测试 
[master (root-commit) 74c27df] 测试 
1 file changed, 1 insertion(+) 
create mode 100644 readme.txt

我们现在通过上面一行命令,讲readme.txt提交到本地master分支(其实这么说不是很准确,其实提交的是修改,而不是全部内容,这里我们可以先这么简单地理解)。下面我们来查看一下git的状态:

$ git status 
On branch master 
nothing to commit, working directory clean

OK,至此,我们已经成功完成了本地代码的提交。即①②两步。

下面我们进行第三部:

5.执行步骤③

现在应该是远程有一个分支,本地有一个分支,我们在GitHub创建一个仓库(repository)。假设仓库地址为:

https://github.com/hellochillax/Yard.git

下面我们进行推送:

(1).添加远程仓库的地址:

$ git remote add origin https://github.com/hellochillax/Yard.git

这里就产生了一个对应关系:origin–>https://github.com/hellochillax/Yard.git

(2).进行推送操作:

$git push origin master

然后系统会提示你输入GitHub的账号密码,输入正确的账号密码后,点击回车,系统就会进行提交工作,而且会显示进度。当然,我这里就不演示了,以防把我原来的项目覆盖掉了。(上面的GitHub地址是我在GitHub上的一个项目,不可随便推。。。当然你看到这里也别想着去搞破坏,因为你不知道我的GitHub的账号密码。。。)

我们上面所有的内容解决了本地推送到GitHub,下面我们发过来讲解从GitHub上拉取被人写的内容到本地仓库。

6.我们还是先搞一张图,有句话说的好,没图你说个

图片描述

下面,我们还是分三步来讲:

7.执行步骤①

有了上面的经验,我们就可以快一点了~
上命令:

$ git pull origin master

上面的命令是,从远程拉取文件到本地。

8.执行步骤②③

在执行之前,我们先查看一下git的状态:

$ git status 
On branch master 
nothing to commit, working directory clean

呦呦呦,什么情况,怎么是“nothing to commit”呢,怎么回事,不应该是再从版本库中复制内容到工作空间吗,怎么能是不需要提交呢。

别急,你打开工作目录,发现,工作目录里已经存在了GitHub上的所有文件。也就是说,步骤①,其实已经帮我们搞定了①②③要做的事。所以,②③步骤其实不要我们做任何事情。。

四.git的使用之细节补充

我们要养成一个好的习惯,每天晚上关电脑之前,记得把自己白天写的代码推送到GitHub上,以防自己的劳动果实丢失,虽然几率很小,但这不失为一个好习惯。这里要特别提一点,GitHub上的仓库是public的(免费版),也就是说,如果你不想公开你的代码,就别轻易放在GitHub上,或者花钱买个私有的仓库。

git的知识点很多,使用细节也很多,我这里只是把两个大流程给说了一遍,其实git是很强大的,使用起来还是有很多需要学的,比如多分支管理,冲突解决,git与eclipse或者intellij结合等。但是同样是遵从二八原理,只有20%的操作是我们经常用到的,所以,如果你看到现在感觉难度一般般,那么你还是非常不错的,毕竟我的表达能力不是一般的一般般。。。

博客写的比较少,内容难免多有不当之处,还望各位批评指正。希望本博客会给你提供一定的帮助,这也是我写博客的目的了。

五.最后贴一下我平时总结的git常用操作
  • git init :初始化一个本地仓库
  • git add –all :添加所有文件到暂存区(stage,index)
  • git commit -m :“描述信息” 提交更改到本地master分支
  • git status :查看git当前状态
  • git diff :查看改动后和改动前的不同之处
  • git log :获得文件更改的历史记录
  • git reset –hard HEAD^ :回退本地分支到上一个版本
  • git reset –hard HEAD~n :回退本地分支到上n个版本
  • git checkout – readme.txt:把readme.txt文件在工作区的修改全部撤销
  • git remote :获得远程库列表
  • git remote rm [name]:删除对应的远程库
  • git remote add origin git@github.com/hellochillax/SoftWareYard.git:关联一个远程库
  • git push -u origin master:第一次推送master分支的所有内容
  • git push origin master :推送最新修改
  • git branch -u origin/master master:本地跟踪远程
  • ssh-keygen -t rsa -C “hello@example.com”: 创建SSH Key
  • git config –global user.name “Your Name”: 设置用户名
  • git config –global user.email “email@example.com”: 设置密码

Git鼓励大量使用分支:

  • 查看分支:git branch
  • 创建分支:git branch
  • 切换分支:git checkout
  • 创建+切换分支:git checkout -b
  • 合并某分支到当前分支:git merge
  • 删除分支:git branch -d

命令行通用操作:

  • pwd:显示当前路径
  • ls -ah:显示文件列表(包括隐藏文件)
  • cat readme.txt:显示文件内容
  • rm readme.txt: 删除文件

作者:Hello_Chillax
文章源自:http://blog.csdn.net/hello_chillax/article/details/47405887

相关文章

1.25个 Git 进阶技巧

2.Git版本控制与工作流

3.Git常用命令备忘

打开App,阅读手记
42人推荐
发表评论
随时随地看视频慕课网APP

热门评论

git add –all 对吗? 是不是应该git add --all?

有点粗糙

很不错。

查看全部评论