美文网首页
git精简教程

git精简教程

作者: GaryJia | 来源:发表于2016-10-23 12:21 被阅读0次

    一,本地仓库

    1.安装

    在macOS 上安装Git

    两种方法:一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

    第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode默认已经集成了Git。对于做苹果系统开发的同学这步就可以直接跳过,因为Xcode是标配。

    Xcode是Apple官方IDE,功能非常强大,是开发Mac和iOS App的必选装备,而且是免费的!

    2.配置

    安装完成后,还需要最后一步设置,在命令行输入:

    $git config --global user.name"Your Name"

    $git config --global user.email"email@example.com"

    因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    3.初始化及第一次提交

    初始化一个Git仓库,使用git init命令。

    添加文件到Git仓库,分两步:

    第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;

    $git add file1.txt

    $git add file2.txt file3.txt

    $git commit -m"add 3 files."

    第二步,使用命令git commit,完成。

    4.提交更改

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

    git diff这个命令可以查看修改的内容。

    5.查看历史提交记录并回退

    版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看。

    git log命令显示从最近到最远的提交日志。

    加上--pretty=oneline参数可以让历史记录只显示一行,凸显提交时留下的信息。

    现在,我们要把当前版本回退到上一个版本,就可以使用git reset命令:

    $ git reset--hard HEAD^

    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    6.撤销向工作区或者版本库的提交

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

    7.删除文件

    $ git rm 命令可以在工作区删除文件并同步到暂存区,确认删除后用git commit 命令提交到版本库。

    git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    二,远程仓库

    1.在gitHub上创建一个远程仓库并关联到你的本地仓库上

    登陆gitHub找到create a new repo,填写项目名称和描述,创建成功

    回到命令窗,

    git remote add origin https://github.com/yourAccount/yourRepo.git

    git push -u origin master

    push 命令之后会让你更输入用户名和密码,注意密码输入是不可见的,不要以为是电脑坏了

    文件不大的话很快就上传完了,刷新你在gitHub刚才新建的项目页面,本地文件已经躺在列表里了。

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

    从现在起,只要本地作了提交,就可以通过命令:

    $git push origin master 提交了。

    2.克隆一个远程仓库

    要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

    $git clone git@github.com:yourAccount/yourRepo.git

    Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

    3.使用分支

    首先创建一个分支,然后切换到该分支下:

    $git checkout -b 分支名

    上面的命令和这两条命令功能一样

    $git branch 分支名

    $git checkout 分支名

    注意,checkout 命令加 --文件名 表示恢复工作区,直接使用表示切换分支

    用git branch命令查看当前分支:

    $git branch

    当你在dev分支开发完后切换回master分支,你需要合并dev分支的内容到master上,使用git merge  **命令 ,进而你需要删除分支:git branch -d **

    当合并时出现冲突,可以用git status 查看冲突的文件,手动解决冲突后git add后再git commit 提交至版本库

    用git log --graph命令可以看到分支合并图。

    4.分支策略

    在实际开发中,我们应该按照几个基本原则进行分支管理:

    首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

    那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

    你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

    所以,团队合作的分支看起来就像这样:

    Git分支十分强大,在团队开发中应该充分应用。

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    5.暂存分支

    有时候你正在攻克一个难题,这时候来了一个优先级更高的事件,你需要放下手中工作去处理这个事件。

    Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。

    用git stash list命令查看之前保存的工作现场,可以多次存储。

    需要恢复的时候,有两个办法:

    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    另一种方式是用git stash pop,恢复的同时把stash内容也删了,pop恢复的是最近的一次保存的内容。

    6.删除分支

    开发一个新feature,最好新建一个分支;

    如果要丢弃一个没有被合并过的分支,可以通过git branch -D ** 强行删除。

    7.查看远程库信息
    要查看远程库的信息,用git remote命令,如果加上 -v 选项可以显示详细信息。

    详细信息中会有push路径和pull路径,如果只有pull路径,说明你没有推送权限,只能拉取代码。

    8.使用标签

    创建标签:

    命令git tag  tagName 就可以打一个新标签,默认这个标签是打在最新的提交版本上。

    我们可以使用git tag这个命令来查看当前分之所有的标签。

    给之前提交的历史版本打标签可以使用git tag tagName commitID 这样的命令格式。

    使用git show tagName 可以显示该标签的详细信息。

    还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

    $git tag -a v0.1 -m "version 0.1 released" 3628164

    标签推送到远程:

    如果要推送某个标签到远程,使用命令git push origin tagName

    或者,一次性推送全部尚未推送到远程的本地标签:

    $ git push origin --tags

    删除标签:

    如果标签打错了,也可以删除:

    $git tag -d v0.1

    如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:

    $git tag -d v0.9

    然后,从远程删除。删除命令也是push,但是格式如下:

    $git push origin:refs/tags/v0.9

    以上呢就是一些常用的git操作,对于普通用户,基本上已经可以满足你在开发中的大部分需要,如果你想要使用更多的功能,访问git的官网吧,https://git-scm.com/。

    本教程部分内容来自网络,原作者拥有最终版权。如果内容侵权请联系我删除。

    相关文章

      网友评论

          本文标题:git精简教程

          本文链接:https://www.haomeiwen.com/subject/dkhcuttx.html