美文网首页
源代码管理工具-GIT

源代码管理工具-GIT

作者: 阳仔_hy | 来源:发表于2018-06-30 14:58 被阅读0次

    一. git 概述

    1. git 简介?

    1. 什么是git?

      • git是一款开源的分布式版本控制工具
      • 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的
    2. git的起源?

      • 作者是Linux之父:Linus Benedict Torvalds
      • 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码)
    3. git的现状?

      • 越来越多的开源项目已经转移到git

    一. git 使用

    创建一个本地代码库

    1. 首先进入需要创建本地代码仓库的文件路径。 image.png
    2. 初始化本地仓库git init
      image.png
    • 创建成功会有相应提示,在文件夹根目录会生成.git文件夹,此文件夹就是代码仓库 image.png

    设置Git

    在我们使用Git工作之前,我们需要做个一次性的配置。为了使Git能够记录谁做了修改,我们需要设置全局的用户名及邮箱。方便其他开发者查看

    git config --global user.name "your_username"
    git config --global user.email your_email@domain.com
    

    查看Git配置

    git config -l
    

    提交文件

    提交文件的命令为commit 在使用commit前需要先将修改的文件提交到暂存区

    git add .
    git commit -m"提交文件"
    

    查看状态

    git status
    

    日志查看

    git log
    git reflog
    

    文件状态

    颜色含义
    • 红色: 代表被添加或者修改的文件没有被添加到暂缓区
    • 绿色: 代表文件在暂缓区,等待提交
    版本号的含义
    • 版本号是一个由SHA1生成的40位哈希值
    • 这样做的目的是保证版本号的唯一

    版本回退

    命令: 
            git reset —hard HEAD 重置到当前版本
            git reset —hard HEAD^^ 重置到上上个版本
            git reset ——hard HEAD2 重置到往上2个版本
            git reset —hard 七位版本号 重置到指定版本::
    

    创建分支

    建立分支是你创建代码的独立版本的动作,独立于你的主干分支。默认地,每次你提交到Git的文件都会被储存到“master(主干)”分支。
    现在我们来说说,你想要向项目里添加一个功能,但你想要能够回滚到现在版本,以防出现差错,或者你决定要放弃这个功能。这就是你创建分支的时候了。创建并同时切换到你新建的分支,发送:

    git checkout -b new_feature
    

    或者,你可以先创建一个分支然后手动切换,就像这样:

    git branch new_featuregit checkout new_feature
    

    要看你现在项目下所有的分支,发送这个:

    git branch
    

    现在你可以在你的项目上无所顾忌地做任何你想做的:任何时候,你都可以回到你创建分支前的状态。注意,你同时可以有多个分支,甚至可以从一个分支上再创建一个分支。

    合并分支

    当你对你的新功能满意了的时候,你想要把它加到主干分支上。当你在你的新功能分支上时,你首先需要加载(stage)并且提交你的文件:

    git add .
    git commit -m "adds my new feature"
    

    然后你移到你的主干分支:

    git checkout master
    

    像这样合并:

    git merge new_feature
    

    此时,你的主干分支和你的新功能分支会变成一样的了。

    丢弃分支

    相反,如果你打算丢弃你在分支里做的修改,你首先需要加载(stage)你的文件并且在分支里提交:

    git add .git commit -m "feature to be discarded"
    

    然后,你移到主干分支:

    git checkout master
    

    现在,你的代码处于你创建分支之前的状态了。

    删除一个分支

    如果你要把你的分支合并到主干分支,从主干(master)分支上发送:

    git branch -d new_feature
    

    假如修改已经合并了,它只会删除分支。假如分支没有合并,你会得到一个错误信息。删除一个未合并的分支(通常你不想保留的修改),你需要发送一样的命令附带一个大写D。意思是“强制删除分支,无论如何我不想要它了。”:

    git branch -D new_feature
    

    回滚到之前的提交状态

    在某些时候,你可能想要回到之前的代码版本。首先,你需要找到你想回到哪个版本。要看所有的完成了的提交,发送:

    git log
    

    这会输出你的提交的历史记录,像这样:

    commit ca82a6dff817ec66f44342007202690a93763949Author: your_username your_email@domain.comDate:   Mon Nov 4 12:52:11 2013 -0700    changes the frontpage layout
    commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author: your_username your_email@domain.comDate:   Mon Nov 4 11:40:33 2013 -0700    adds my new feature
    commit a11bef06a3f659402fe7563abf99ad00de2209e6Author: your_username your_email@domain.comDate:   Mon Nov 4 10:37:28 2013 -0700    initial commit
    

    如果你想回到“adds my new feature”这个提交,简单地用提交的ID做签出(checkout)(我通常只用到ID开头的9个字符)

    git checkout 085bb3bcb
    

    你也可以签出到一个新的分支,像这样:

    git checkout -b my_previous_version 085bb3bcb
    

    推送到远程代码库

    在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里。像这样做:

    git remote add origin https://your_username@bitbucket.org/your_username/name_of_remote_repository.git
    

    注意这里的“origin”只是一个习惯。它是你的远程代码库的别名,但是你可以用其他任何你喜欢的词。你甚至可以有多个远程代码库,你只需要给它们起不同的别名。
    之后,你想要推送你的本地代码库的主干分支到你的远程代码库:

    git push origin master
    

    取得远程代码库的一份本地拷贝

    如果你还没有一份远程代码库的本地版本(例如,如果你在另一台机器上开始工作,这台机器上还没有用过这个项目),你首先需要拷贝(clone)它。去到你的代码库想要拷贝到的文件夹下,并发送:

    git clone https://your_username@bitbucket.org/your_username/name_of_remote_repository.git
    

    另一方面,如果你已经在本地的项目上工作了,只是想从远程代码库上取得它最新的版本,移动到项目的根目录下,并发送:

    git pull origin master
    

    别名

    Git允许你为你常用的命令创建快捷方式(别名)。例如,如果你不想每次都输入git commit -m “some comment”,而是输入git c “some comment”,你可以向你的git全局配置里添加一个别名来实现,像这样:

    git config --global alias.c 'commit -m'
    

    这是我使用的别名列表:

    git config --global alias.c 'commit -m'
    git config --global alias.co 'checkout'
    git config --global alias.cob 'checkout -b'
    git config --global alias.br 'branch'
    git config --global alias.m 'merge'
    git config --global alias.a 'add .'
    git config --global alias.s 'status'
    git config --global alias.dbr 'branch -d'
    

    参考链接:http://blog.jobbole.com/53573/

    相关文章

      网友评论

          本文标题:源代码管理工具-GIT

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