一.安装与配置Git
Git是一个开源的分布式源代码版本控制系统,主要是在Linux/Unix系统上使用,现已被移植可以到Windows系统上使用.
Windows上的Git是msysgit,图形界面环境可以使用tortoisegit,一般配合使用,先安装msysgit再安装tortoisegit.
Git下载地址:
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的使用可以参考官方文档:
二.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)可以放在远程服务器上,也可以放本地.