精华内容
下载资源
问答
  • Git简介

    千次阅读 2017-04-27 16:20:07
    Git简介

    在学习过程中,我们一般秉承着以需求定目标的原则,在需要的情况下对自己的能力进行拓展。在初学编程的前一年,需要实现的需求过于简单,基本都可以独立完成,慢慢地在第二年,开始接触javaee,android等技术,虽然不是企业级开发,但是其中的代码量比起之前也是大了很多,逐渐强调团队完成,由于学习都是一个过程,我们在很长一段时间乐于在QQ之间发送压缩包,每个人完成了自己一部分的开发,然后把压缩包通过QQ上传,告诉队友们哪些地方需要更改,这种开发方式无疑效率低下并且出错率相当高。渐渐地在学习中,了解到还有像SVN、Git这种团队开发工具,于是开始憧憬,但是一个人会用并没有太大意义,你身边和你并肩作战的队友仍然选择压缩包形式把整个项目文件传来传去,那我也是很绝望啊。但是鉴于在真实的生产环境中,依然是以团队开发为主,所以笔者觉得不能一拖再拖,还是着手学习Git。

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是Linux之父Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。对于Linus这位传奇人物,我觉得用666和233都无法形容,当他觉得现有系统不好用的时候,就尝试着写了个系统,后来就有了linux,在开发过程中,他觉得团队开发很不方便,然而又不喜欢非分布式的SCM,就自己花了几周时间写了个版本控制软件,于是就有了今天我们要介绍的Git。

    Git到底是做什么的?

    就我个人认为,Git主要的功能有两点,一是版本控制,二是团队开发。版本控制,指的是你所开发的项目,总需要不断的修改增加代码,然而可能有一天,程序直接崩溃了,崩溃的原因很难找到或者解决起来十分麻烦,按照正常情况你可能要把整个项目推翻重做了,几个月的心血可能就白费了。然而通过版本控制软件,你可以将项目回滚到某个时间点的版本,并且选择性地将那个版本的内容和当前版本内容进行融合,这样可以节省很多力气;团队开发,指的是一群人开发同一个项目。一个人开发整个项目的时代已经过去了,当然不乏有那种大牛就喜欢独来独往,像linus就是这样一个人。但是总的来说,大部分公司的项目仍然是以团队为单位对项目进行开发。可是要怎样协调才能够让团队开发更加顺利呢。尽管我们可以将各个功能模块分给不同的人进行实现,但是难免有些模块是相互依赖的,并且不同的开发者之间如何进行交互也是一个很大的问题,总不能像我上面说的一样,通过QQ将压缩包传来传去吧,四个字形容——费时费力。这时候,版本控制软件就可以派上用场了。作为Git这样一个分布式版本控制软件,它允许很多的工程师同时对同一个项目在本地进行开发,当某个工程师觉得自己那部分差不多了,就直接提交到远程服务器,那其他的工程师都可以把它clone下来,然后选择性地和本地代码进行merge操作。其中还有一个分支(branch)的概念,大致意思就是说,首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地master分支和origin/master分支的差别,最后进行合并。在本地进行开发后,及时地提交并推送至远程仓库的分支下,再由最后一名工程师做合并处理,这样就避免了每一位工程师的随意提交最后导致代码紊乱。

    如何使用Git进行版本控制

    Git的使用主要有三种形式,Cmd、Bash和GUI。我作为初学者,当然首选GUI,但是尝试了一段时间后,感觉GUI过于累赘,Bash操作更加简便,Git果然是为Linux而生的,所以对于了解Linux基本操作的朋友,还是推荐使用Bash。本文不对Bash和GUI的使用进行详细解释说明,只从理论角度对Git进行简单介绍。
    我们还需要对github进行简单的了解,我们知道git是一个版本控制工具,而github是一个用git做版本控制的项目托管平台。可以将github当作一个仓库,用来存放各种各样的开源项目,然后git就可以对github上的开源项目进行版本控制了。也有人说,git和github的关系大概就是“斗地主”与“QQ游戏大厅”的关系吧。
    所以到底如何使用Git进行版本控制呢,我们介绍以下两种场景:
    1.个人开发场景下的Git
    A君每日早出晚归,白天在公司上班,晚上在家中加班,而且用着不同的电脑,做的都是同一件事——写项目。但是每次下班的时候都要将整个项目保存一下,然后回到家打开电脑读取项目继续干,然后加班结束又要存下项目,等待第二天上班继续使用。麻烦是次要的,最要命的是,在公司写的好好的,一回家就满屏bug,而且回家路漫长,修改了哪儿都忘得一干二净,这就很尴尬了。怎么办呢,嗯,使用Git吧。使用ssh的方式创建私人帐户和公司帐户的key,然后将公钥添加至github服务器,使得个人电脑和公司电脑都能够对github上的项目进行fetch和push,这样便可以在个人电脑和公司电脑上对github上的同一个项目进行操作,并且Git会将每次commit后的改动存档至.git文件夹下。
    2.团队开发场景下的Git
    首先A君作为发起人,在github上开源了项目代码,然后作为一个团队,B君和C君也要共同参与开发。有以下几种方式:
    1.1 与上述场景类似,可以通过ssh公钥授权,使得B君和C君也有对项目的直接控制权;
    1.2 github上可以给项目添加合作者,作为合作者的B君和C君,也可以对项目进行修修改改;
    1.3 有很多开源项目,开发者们都致力于对源码进行优化,但试想一下,如果每个人都可以把项目clone下来随意修改然后再随意push到服务器,那恐怕开源社区早就乱成一团了。所以,我们可以把项目先fork到自己的repository中,然后再从自己的repository中clone到本地,对它修修改改后,再push到自己github上的这个项目中。等你觉得想要把你改的发给原项目同步,就在你的项目上点Pull requests按钮,由原项目主人决定是否接受你的修改。

    展开全文
  • git简介

    2020-09-07 20:06:38
    Git简介 三个区 主要的几个命令 git commit用法 git stash用法 git reset用法 git reflog git add git checkout git checkout切换分支 git checkout 回退修改 git revert reset,checkout,revert总结 删除分支 git ...

    Git简介
    三个区
    主要的几个命令
    git commit用法
    git stash用法
    git reset用法
    git reflog
    git add
    git checkout
    git checkout切换分支
    git checkout 回退修改
    git revert
    reset,checkout,revert总结
    删除分支
    git push
    git pull

    1. git merge
    2. git rebase
    3. rebase的高级操作–交互式rebase
    4. Rebase的黄金法则
    5. rebae的本地清理功能
      追踪关系
      git冲突的修复
    6. 直接编辑冲突文件
    7. 利用图形界面工具解决冲突
    8. 代码提交完整流程
      常用命令速查表
      Git简介

    Git是Linux之父Linus的第二个伟大的作品,它最早是在Linux上开发的,被用来管理Linux核心的源代码。后来慢慢地有人将其移植到了Unix、Windows、Max OS等操作系统中。

    Git是一个分布式的版本控制系统,与集中式的版本控制系统不同的是,每个人都工作在通过克隆建立的本地版本库中。也就是说每个人都拥有一个完整的版本库,查看提交日志、提交、创建里程碑和分支、合并分支、回退等所有操作都直接在本地完成而不需要网络连接。

    对于Git仓库来说,每个人都有一个独立完整的仓库,所谓的远程仓库或是服务器仓库其实也是一个仓库,只不过这台主机24小时运行,它是一个稳定的仓库,供他人克隆、推送,也从服务器仓库中拉取别人的提交。

    Git是目前世界上最先进的分布式版本控制系统,没有之一,对,没有之一!

    三个区

    git_three_rigon.png-212.9kB

    工作区(working diretory) 用于修改文件
    缓存区(stage) 是用来暂时存放工作区中修改的内容
    提交历史(commit history) 提交代码的历史记录

    主要的几个命令

    git add # 将工作区的修改提交到暂存区
    git commit # 将暂存区的修改提交到当前分支
    git reset # 回退到某一个版本
    git stash # 保存某次修改
    git pull # 从远程更新代码
    git push # 将本地代码更新到远程分支上
    git reflog # 查看历史命令
    git status # 查看当前仓库的状态
    git diff # 查看修改
    git log # 查看提交历史
    git revert # 回退某个修改

    展开全文
  • GIT简介

    2020-06-15 16:53:01
    GIT简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, ...

    GIT简介


    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
    Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

    Git 与 SVN 区别
    Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
    如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
    Git 与 SVN 区别点:
    1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
    2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
    3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
    4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
    5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

    展开全文
  • git 简介

    2019-07-15 16:18:09
    git 简介: -创建项目git clone, git init -创建分支,推送分支,合并分支 -删除分支,回退版本 // ------下载本地git项目代码,到本地目录的文件夹。 git clone git@cithub.com:kanlidy/hellogit.git ls git ...

    git 简介:
    -创建项目git clone, git init
    -创建分支,推送分支,合并分支
    -删除分支,回退版本

    // ------下载本地git项目代码,到本地目录的文件夹。
    git clone git@cithub.com:kanlidy/hellogit.git
    ls
    git status
    git branch -a
    touch text.text
    git status
    git add .  // 将所有本地的文件,添加到待处理待提交的状态。
    git commit -m 'init upload' // 初次提交到git

    git remote -v
    git push origin master // 推送到远程主干分支
    git branch -a

    // ------分支项目创建和管理
    git checkout -b dev
    ls
    touch test1.txt
    git status
    git add test1
    git commit -m 'dev 上的功能开发'
     
    // 本地dev分支提交到远程的dev分支
    git push origin dev
    git branch -a

    // 合并到主分支 master
    git checkout master // 切换到master
    ls
    git merge dev
    ls
    git push origin master // 提交远程分支

     // ------删除分支
     git branch -D dev
     // 删除远程分支
     git push origin :dev
     
     // 退回到之前的那个版本
     git reset --hard head^
     ls
     
     // 回退到之前的某个状态
     // git reflog
     git reset --hard 9623d3f 或(HEAD@{2})

    展开全文
  • Git 简介

    2019-07-27 14:28:23
    1 git的由来 在介绍git之前我们来先说一下git是怎么来的,git的创始人同时也是 Linux的创始人Linus。Linus早期在维护Liunx代码一直是人肉合并代码。后期开始采用了分布式版本控制系统BitKeeper 来进行维护。然而...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,023
精华内容 21,609
关键字:

git简介