阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Git分布式版本控制系统快速参考

99次阅读
没有评论

共计 4871 个字符,预计需要花费 13 分钟才能阅读完成。

一. 安装与配置 Git
    Git 是一个开源的分布式源代码版本控制系统,主要是在 Linux/Unix 系统上使用,现已被移植可以到 Windows 系统上使用.
    Windows 上的 Git 是 msysgit,图形界面环境可以使用 tortoisegit,一般配合使用,先安装 msysgit 再安装 tortoisegit.
    Git 下载地址:
    http://git-scm.com/download/
    TortoiseGit 下载地址:
    https://code.google.com/p/tortoisegit/
    安装 msysgit 和 tortoisegit 时基本上都是选择默认选项.
    在 Windows 平台安装 msysgit 后,Git 的命令环境是 Git Bash.

    配置 Git 的 User 信息.   
    $ git config –global user.email “gymsoft@163.com”
    $ git config –global user.name “gym”

    Git 的使用可以参考官方文档:
    http://git-scm.com/docs

二.Git 服务器搭建
    一般需要搭建一个 Git 服务器作为远程仓库(Remote Repository),用于开发团队存储和交换开发成果的媒介.
    实际上对于分布式方式来说,远程仓库和本地仓库管理的内容是一样的
    远程仓库可以使用 Github 或自己搭建 Git 服务器。
    如果在 Windows 平台搭建 Git 服务器,还需要 CopSSH 软件作为 ssh 服务器,使用 putty 或其它 ssh 客户端软件访问和管理服务器.

    配置 Git 服务器(Windows 平台),需要 CopSSH + Git
    先安装 msysgit, 再安装 CopSSH.
    打开 CopSSH,创建帐户,激活帐户.
    复制 git 的文件到 copssh 的 bin 目录下
    bin/libiconv-2.dll
    libexec/git-core/git.exe
    libexec/git-core/git-receive-pack.exe
    libexec/git-core/git-upload-archive.exe
    libexec/git-core/git-upload-pack.exe

三.Git 常用操作命令
1. 创建版本库(init)
    版本库又叫仓库(Repository),是存放需要管理的文件的目录,创建版本库就是创建一个目录并初始化.
    $ mkdir repo
    $ cd repo
    $ pwd
    /E/repo
    $ git init
    初始化库后,将会在版本库目录下创建一个.git 的隐藏目录,是由 Git 管理的版本库.   
    初始化后将会产生一个主分支(Branch): master,可以查看版本库的状态
    $ git status

2. 添加文件进版本库管理(add)
    $ git add .          #添加所有文件
    $ git add filename  #添加指定文件
    修改文件也是用 git add

3. 提交更改(commit)
    用 commit 命令提交更改,需要备注信息.
    $ git commit -m “description”

4. 暂存更改(stash)
    将工作区中有修改还未提交的更改储藏到暂存栈中,清干净工作区
    $ git stash
    显示暂存栈中储藏的更改
    $ git stash list
    将储藏的更改从暂存栈中恢复到工作区
    $ git stash pop
    清除暂存栈中内容
    $ git stash clear
   
5. 分支管理(branch,merge)
    $ git branch branch_name    #创建新分支
    $ git checkout branch_name  #签出并切换到新分支
    或者一条命令做两条命令的事: 创建新分支并切换到新分支
    $ git checkout -b branch_name
    查看当前分支
    $ git branch
    在看看当前分支的状态
    $ git status
    合并分支,将分支上的工作合并到 master 分支上.
    $ git checkout master
    $ git merge branch_name
    删除分支
    $ git branch -d branch_name

6. 版本库共享与更新(push,fetch,pull)
    将本地版本库推送到远程版本库
    $ git push origin master
    抓取远程版本库
    $ git fetch origin deve
    抓取远程版本库并合并到本地版本库
    $ git pull origin deve

7. 标签(tag)
    创建标签
    $ git tag -a ‘release_1’ -m ‘tag code’ HEAD
    推送标签到远程版本库
    $ git push origin tag release_1
    查看标签
    $ git tag -l
    删除标签
    $ git tag -d release_1

四. 版本库操作示例
    1. 远程版本库(Remote Repository) 操作示例
    在实际应用中一般将版本库放在远程服务器上,开发团队不直接操作远程服务器,每个开发成员从远程服务器上克隆一个版本库到本地。
    开发工作将在本地版本库中完成,更改后提交到本地版本库,再推送到远程版本库中.
    当然,远程版本库(Remote Repository) 可以放在远程服务器上,也可以放本地.

    (1)创建新的远程版本库
    $ mkdir remoterepo/project    #创建空目录 remoterepo/project 作为项目远程版本库
    $ cd remoterepo/project        #进入创建的目录
    $ git init                    #将创建的目录初始化为版本库
    $ git status                  #查看版本库状态

    (2)添加文件进版本库管理并提交
    在目录 remoterepo/project 下添加一些文件,再将这些文件添加进版本库管理
    $ git add .                    #添加文件进版本库管理 - 添加所有文件
    $ git add filename            #添加文件进版本库管理 - 添加指定文件
    $ git commit -m “add file”    #提交更改

    (3)创建新分支 deve 作为开发分支
    $ git branch deve              #创建新分支 deve
    $ git checkout deve            #签出并切换到新分支   
    $ git checkout -b deve        #或者一条命令做两条命令的事: 创建新分支并切换到新分支
    $ git branch                  #查看当前分支   
    $ git status                  #再看看当前分支的状态

    $ git checkout -b master      #切换到主分支.

    2. 本地版本库 (Local Repository) 操作示例
    (1) 克隆远程版本库到本地
    $ mkdir localrepo             
    $ cd localrepo               
    $ git clone ../remoterepo/project/.git    #克隆远程版本库到本地,默认只克隆了 master 分支
    $ git clone -b master ../remoterepo/.git  #选择克隆版本库的某一分支
    $ git clone git://github.com/…/….git  #如果是从远程服务器克隆.
    执行之后就把版本库的内容全部都复制过来了.
    $ cd project
 
    查看远程库信息
    $ git remote              #在本地,远程仓库的默认名称是 origin
    origin
    $ git remote -v
    origin  e:/localrepo/../remoterepo/project/.git (fetch)
    origin  e:/localrepo/../remoterepo/project/.git (push)

    默认只克隆了 master 分支,可以依远程库分支 deve 创建新分支 deve
    $ git branch origin/deve
    $ git checkout deve

    (2)修改并提交分支 deve
    $ git checkout deve    #签出分支
    $ git add .            #新增或修改代码后,添加文件进版本库管理
    $ cat .gitignore      #忽略特定文件或目录
    #.[oa]
    #~

    $ git diff            #查看 staging 文件差异,未添加进库管理时的差异
    $ git diff –cached    #查看 staging 文件差异,已添加进库管理时的差异

    $ git commit -m “add file”  #提交更改,提交到本地版本库

    (3)创建新分支
    当有某种需要时可以再创建新分支
    $ git branch test          #创建分支 test
    $ git checkout test        #切换到分支 test
    $ git add .                #新增或修改代码后,添加文件进版本库管理
    $ git commit -m “add file”  #提交更改

    (4)合并分支
    $ git branch              #查看当前分支
    $ git checkout deve      #切换到分支 deve
    $ git merge test          #将分支上的工作合并到 master 分支上.

    解决分支合并冲突: 当各分支修改同一个文件内容,在合并时就可能会出现冲突,无法自动合并分支,需要解决冲突.
    $ vi test4.txt          #查看冲突的文件
    <<<<<<< HEAD
    test4
    =======
    test4test4test4
    >>>>>>> test
    Git 会用 <<<<<<< ======= >>>>>>> 标记出不同分支的内容,修改后保存:

    $ git add .               
    $ git commit -m “add file”

    $ git branch -d test      #合并完成后可以删除分支

    (5)推送到远程版本库.
    $ git push origin deve
    在推送到远程版本库时,有可能远程版本库的内容已经被别人更改,此时需要解决冲突.
    一般需要使用 fetch 或 pull 下载最新的版本后合并分支,然后再推送到远程版本库.

    (6)抓取远程版本库(fetch,pull).
    获得更新到本地版本库(fetch)
    $ git fetch origin deve          #从远程版本 deve 主分支下载最新的版本到 origin/deve 分支上
    $ git log -p deve..origin/deve  #比较本地的 deve 分支和 origin/deve 分支的差别
    $ git merge origin/deve          #合并分支 deve

    从远程版本库获取最新版本并合并到本地版本库(pull)
    $ git pull origin deve

Fedora 通过 Http Proxy 下载 Git http://www.linuxidc.com/Linux/2009-12/23170.htm

在 Ubuntu Server 上安装 Git http://www.linuxidc.com/Linux/2009-06/20421.htm

服务器端 Git 仓库的创建(Ubuntu)http://www.linuxidc.com/Linux/2011-02/32542.htm

Linux 下 Git 简单使用教程(以 Android 为例)http://www.linuxidc.com/Linux/2010-11/29883.htm

Git 权威指南 PDF 高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm

Git 2 分钟指南 http://www.linuxidc.com/Linux/2014-11/109201.htm

Git 的详细介绍:请点这里
Git 的下载地址:请点这里

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计4871字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中