zoukankan      html  css  js  c++  java
  • Git 入门使用

    Git是什么?

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    关于Git的诞生,这里还有一个小故事。

    Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
    Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
    事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
    你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
    不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
    安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
    Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
    Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

    安装Git

    vs2017安装时可以勾选Git。

    小伙伴们也可以去官网: https://git-scm.com/downloads

    一般来说,git配合小乌龟使用 https://tortoisegit.org/download/ 根据自己的处理器位数选择对应的就好了,还有中文语言包。

    要先安装小乌龟,再安装语言包,安装后需要在小乌龟里设置语言才能使用。

    简单命令

    设置全局用户名和通讯地址:

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

    创建版本库:

    在 Windows 上,我们只需要鼠标右键,选择·Git Bash Here 就可以了

    这样打开 git 控制台,路径就会已经被设定到当前你点击的目录了。

    当然也可以使用下面的语句来切换目录。这条语句将目录切到了C盘根目录。

    $ cd C:/

    然后接下来 通过git init命令把这个目录变成Git可以管理的仓库:

    $ git init

    可以发现当前目录下多了一个 .git 的目录,这个目录是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

    如果你没有看到 .git 目录,那是因为这个目录默认是隐藏的

    把文件添加到版本库:

    使用 $ git add 命令 + 文件名的方式,往仓库里添加一个文件。

    $ git add xxx.txt

    还有一个命令是添加目录下所有的文件到仓库。

    $ git add .

    创建一个提交:

    用命令 $ git commit告诉Git,把文件提交到仓库:

    $ git commit -m "test git"

    -m 后面的字符串用来说明本次提交的备注信息。建议严肃对待这个备注,避免以后自己想要找回版本,却想不起自己哪次提交做了改动。

    查看仓库当前状态:

    运行 $ git status 命令看看结果:

    $ git status

    使用 $ git log 命令可以查看显示从最近到最远的提交日志

    $ git log

    回退版本:

    首先,想要往回走的话,必须知道现在自己在哪(废话),

    在Git中,用 HEAD 表示当前版本,上一个版本就是 HEAD^,上上一个版本就是 HEAD^^,当然往上100个版本写100个 ^ 比较容易数不过来,所以写成 HEAD~100

    使用下面的语句来返回上一个版本

    $ git reset --hard HEAD^

    那么问题来了,如果我们这个时候又想回去怎么办呢?办法总是有的。

    使用下面这个语句我们就可以去到任何一个版本。

    $ git reset --hard [版本ID号]

    那么,如何才能知道版本号呢?

    $ git reflog

    $ git reflog用来记录你的每一次命令:

    Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向了那个版本。

    到这里,git的常用基本命令就这么多。但一般来说。我们使用 git 都是有场景的,那就是远程仓库。

    一般来说。我们需要从远程克隆版本库到本地。

    克隆版本库:

    $ git clone 

    克隆下来之后,当然也是你本地的仓库关联的就是远程仓库的地址。

    把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

    我们第一次推送master分支时,加上了-u参数,-u的意思是将它设置为默认主机,

    Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    $ git push -u origin master

    此后,每次本地提交后,就可以使用命令git push origin master推送最新修改:

    $ git push origin master

    关于 push https://www.yiibai.com/git/git_push.html这里更加详细的介绍。

    我日常都是使用命令行克隆到本地,但提交一般使用小乌龟,或者VS的Git工具。

    应当善用工具,站在巨人的肩膀上。对于我们写.NET的来说,不更应该如此吗。



    转载请标明出处

    作者:AaXuan

    地址:http://www.cnblogs.com/Aaxuan

    知识共享许可协议

    本作品采用  知识共享署名 3.0 未本地化版本许可协议  进行许可。

  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/Aaxuan/p/8644278.html
Copyright © 2011-2022 走看看