您的位置:首页 > 其它

git简易教程 一看就会

2015-07-02 00:25 281 查看
很久之前知道git,也使用过,但一直挺困惑,打了命令行提交之后总不知处于什么位置,也搞不懂这个可以纯打命令行进行版本控制的软件为什么这么让人着迷,很多高手都用github。这些天重新学习了一下,对git有了更深一层的了解,分享一下,希望可以给新手一些参考,看了就会用,不足之处也请指出。

git是一个神奇的软件,分布式,即使不用github远程仓库,你一样可以在本地进行版本控制,这一点跟svn很不一样。

下面主要对本地的操作讲解一下:

git分为工作区,暂存区(stage area)和提交之后的区域,这里的stage area也是跟svn很不一样的地方:工作区——>暂存区——->提交之后的区域。这个很关键,一定得记住。有了这个概念基础之后,下面来模拟一下整个流程:

如果你是第一次安装git的话,那么首先需要配置一下,

git config –global user.name “your name”

git config –global user.email “emai@example”

配置之后,以后每一次提交都会显示你的名字和邮箱。

下面创建一个仓库,仓库其实就是一个文件夹,把文件夹初始化为仓库:

git init

你也可以:

git init filename 直接创建一个仓库。

当然,还可以从别人的仓库克隆下来:

git clone url

创建完仓库之后呢,你就可以在里面添加文件,开发你的程序,修改你的代码……假设现在仓库里面有文件a.cpp b.java c.py,你可以

git add . #全部add 到 stage

git add a.cpp b.java c.py #单独添加

添加了之后,就要提交,提交了才会有历史记录,

git commit -m “commit message”

到此为止,你已经会用本地git做版本控制啦! 当然,会这些还是不够的,那么下面继续进一步学习:

如果你想查看当前的状态,那么使用

git status

若你想查看工作区与暂存区的差别,使用

git diff

若你想查看暂存区与上一次提交的区别,更新了什么,使用

git diff –cached 或者 git diff –staged

若你git add 之后,想撤回stage area的file,使之unstaged,那么,

git reset file

既然是版本管理器,那么怎么回退之前提交的到工作区呢?使用

git reset –hard HEAD^ ,HEAD表示当前版本,HEAD^表示上一个版本,那么上一千个版本是不是HEAD^^^……一千次呢,当然不是,使用HEAD~1000

当然,这里可以不用HEAD来表示,可以用使用commit id来回滚,commit id怎么查呢?查出日志就可以看到了,

git log

如果你嫌内容太多,可以用

git log –pretty=oneline,这样就是一行显示了,然后取出id值,

git reset commit id即可

你还可以打上一个标签,下次可以回滚到这个标签,

git tag v0 -m “message”

v0是标签名,使用git tag可以查看当前的tag。

如果你想删除工作区及暂存区的文件,使用

git rm file

若你只想删除暂存区的文件,而保留工作区的,那么

git rm –cached file

最后,提交

git commit -m “message” 这样就删除了指定的file了

往往在开发项目的时候,你需要修复一些bug或者开发新功能,但是不想动原来的master分支,那么,你需要创建一个分支,

git branch clean ,clean就是你的新分支了。

如果你想查看所有分支,那么

git branch

如果你想切换分支,使用

git checkout clean

假设现在你已经改好了

那么使用先切换到master,然后

git merge clean 就可以了,当然,有conflict就解决一下再merge

到此为止,基本的本地操作就全都没问题了。

如果你要push到远端仓库,那么,首先你要

git remote add origin

然后再push,使用-u可以让git记住参数,之后直接git push就可以,

git push -u origin master

若你想把远程仓库pull down下来,使用

git pull origin master

pull相当于fetch之后再merge

git fetch origin master

git merge origin/master

这样,就合并分支到本地了。

现在,相信你已经能基本操作git了!

最后,再分享一本git的好书,可以更进一步加深理解

http://git-scm.com/book/zh/v1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: