Git基础知识点与操作

Git是目前世界上最先进的分布式版本控制系统。

git的使用主要包括:本地仓库的命令、远程仓库的命令。

Ubuntu下命令安装:sudo apt-get install git

安装成功敲下git命令。

以下段子是Git的产生历史背景,可略过

    linus 在1991年创建了开源的 linux 系统,值得一提 linux 系统已经成为最大的服务器系统软件。linux 的发展壮大离不开全世界热心程序员的参与,这么多的程序员为 linux 编写代码,完善该系统,最终都汇集到 linus 本人手上,linus 手工合并、管理这些代码。随着代码量的增大,出现的问题就是 linus 很难继续通过手工合并管理代码。在这期间 linus 为什么不使用CVS(concurrent version system)、SVN(subversion)这些免费的版本控制系统呢?原因是这些都是集中式的版本控制系统,功能单一,只在服务器上有版本记录,速度慢而且必须联网才能使用。所以 linus 选择了 BitMover 公司的 Bitkeeper 商用的版本控制系统,人们说这与 linux 社区的开源精神不符,但是 BitMover 公司不知道出于某种什么样的目的,授权 linux 社区免费使用该版本控制系统(我都快将 The open source spirit 跟 free 挂钩起来了)。但是这种免费的午餐没有维持多久,原因是 linux 社区的“土匪们”试图破解 Bitkeeper 的协议,被 BitMover 公司发现了,BitMover 公司要求 linus 道歉,并且承诺以后会严格管教自己手下的“兄弟们”。linus 哪能就范,BitMover 公司收回了免费使用权后,他自己就花了两周的时间用 C 写了分布式版本控制系统,就是Git。我们不得不佩服这位“宋大哥”一言不合就写代码的精神。我想他可能已经对需求十分了解了,毕竟是个用手工合并、管理代码十年的人,又或者他早就破解了 Bitkeeper 的协议,但是无论如何我们都要感谢 linus 祖师爷赏饭吃。GitHub 网站在2008年上线,为无数开源项目免费提供 Git 存储,如 jQuery、PHP、Ruby 等...

一、创建github账号:本地仓库(Git)和远程仓库(GitHub)之间的传输是通过 SSH 加密的。(可理解为客户端和服务器)

1. 创建项目的SSH key:ssh -keygen -t rsa -C "email地址"

    创建完成后,在用户主目录里找.ssh目录,里面有 id_rsa 和 id_rsa.pub 两个文件,这两个文件就是SSH key 的密钥对,id_rsa 是私钥,不能泄漏出去,id_rsa.pub 是公钥,可以放心地告诉别人(一般是项目组组长)。

2. 登录 github 注册或登录账号,打开”settings“的“SSH Keys”页面,然后点“New SSH Key”,填上任意的Tittle(可以是自己的名字),在 key 文本框里粘贴 id_rsa.pub 文件里的内容,点“Add Key”,你就应该看到已经添加的Key。加上这个 Key 就有了上传代码的权限了。

二、创建远程仓库:在 GitHub 右上角找到“new repository”按钮,创建一个新的仓库。

       从远程仓库克隆到本地仓库:git clone [email protected]:账号名/项目名.git(可以在 github 上复制)
       改 git 的用户名:git config --global user.name

       改 git 的邮箱地址:git config --global user.email 

三、与远程仓库交互

    1. 从远程仓库拉取到本地仓库(工作区):git pull

    2. 将本地代码(仓库区)推送到远程仓库:git push origin master

    提示:每次推送之前需要先拉取下来,解决完冲突后再提交推送。

    在本地空目录下创建本地仓库:git init (也可以直接 git clone ...  将远程仓库的代码克隆到本地上并初始化本地目录)

    初始化之后的本地目录里面的所有本件都可以被 Git 管理起来,每个文件的修改、删除。Git 都能跟踪,以便任何时刻都可以最终历史、还原历史。以下将做详细说明。

    本地仓库分为三部分:工作区、暂存区、仓库区。其中暂存区、仓库区是属于版本库的部分。

工作区与暂存区:

    1. 使用IDE打开目录,创建项目,将文件添加到暂存区

        git add 文件1 文件2 ...

        git add 目录

    2. 使用暂存区的内容恢复到工作区上

        git checkout 文件名

    3. 查看暂存区的状态

        git status

暂存区与仓库区

    1. 将暂存区的记录添加到仓库区

        git commit -m '本次提交的说明信息'

    2. 查看仓库区的历史

        当前版本的历史版本:git log

        简显:git log --pretty = oneline

        历史命令:git reflog

在 Git 中,用HEAD表示当前版本,也就是最新提交的版本,上一个版本就是HEAD^,上上就是HEAD^^,往上100个就是HEAD~100

对比工作区和仓库区某个版本某个文件的不同

    git diff HEAD --文件名

回退历史版本到暂存区

    git reset HEAD^或版本号

从 github 初始化本地项目:git clone ...

添加、提交、推送:git add ... ——> git commit ... ——> git push origin master

从github同步:git pull 

回退历史版本:git reset ... ——> git checkout ...

查看历史操作:git log

猜你喜欢

转载自blog.csdn.net/qq_31990987/article/details/80718077