界面GUI和命令行Command两种操作方式,Git分布式版本控制系统快速参考

Git 进行代码版本管理时,有两种操作方式:图形界面GUI
命令行Command

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

图形界面GUI:有平台限制,目前仅支持Windows系统,Linux(Unix)都是命令行模式,并且图形界面每次提交好像Display显示文件数有限制(如:最大显示20000个文件)

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

命令行Command:没有平台限制,Windows、Linux(Unix、Mac OS
X)下都支持,通过 gid add dir/files 添加文件,没有文件数限制 

    Git的使用可以参考官方文档:
   

下面详细介绍 Git 管理和操作的两个方式:

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

1、图形界面GUI

    配置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

首先,下载Windows下的Git图形界面工具:msysgit 
或 官方下载

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

接着,安装 msysgit
,如下载最新的 Git-1.7.10-preview20120409.exe 后安装,操作方式有Git
GUI 和 Git Bash两种,默认为 Gui Bash Only

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

然后,安装完后,在开始 —> 所有程序 —> Git 中,有 Git Bash 和 Git
Gui 两个图标,点击启动 Git Gui 界面如下:

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

图片 1

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

例如:克隆已有的版本库(远程),如
克隆下载 linux-kernel-source 步骤:

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

a、
点击“克隆已有版本库”,依次输入远程版本库(xxx)和本地目录(xxx),如下图

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

图片 2

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

2、命令行Command

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

a、Git 远程下载 

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

git clone git://git.kernel.org/pub/scm/  project_path

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

例如:下载 linux-kernel-source,Git
命令如下

    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)

git clone
/E/Fruit/code_google/linux-kernel-tmp

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

图片 3

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

例如:下载 Linux 内核 git.kernel.org

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

git clone git://git.kernel.org/pub/scm/  /home/homer/Linux-kernel-3.3.4 

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

b、 Git 本地上传

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

添加新文件:git add dir/files

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

提交文件:git commit

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

上传文件:git push

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

Linux git命令参数及用法详解
http://www.linuxidc.com/Linux/2012-01/51205.htm

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

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

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

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

    (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

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

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

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

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

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

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

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

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/10729.htm

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

图片 4

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

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

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111300.htm

图片 5

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注