概述
git是一种分布式版本控制工具。目前项目中比较常见的版本控制器有SVN、CVS等,这些版本控制工具属于集中式版本控制器。
集中式版本控制器的主要特点就是项目的版本库保存在服务器,该服务器和开发人员的开发机要在同一网段中,开发机从服务器down下项目,然后进行开发,开发过程中需要实时地将新的版本更新到服务器。一旦服务器挂掉了,整个开发就会受到很大的影响。
分布式版本控制器的主要特点就是不需要专用服务器,每台开发机都有独立的版本库,相当于每台开发机都是服务器,开发机之间可以互相传递版本内容。由于没有中央服务器,也不用担心网络中断后影响开发。当然,为了方便传递数据,也可以建立一个专门用来交换数据的服务器,比如github就充当着这个角色。
安装git
LINUX上安装
Ubuntu或Debian系统:
sudo apt-get install git
其他Linux系统可以是用源码安装。
MAC OS X上安装:
- 方法1:homebrew,然后通过homebrew安装git,参考[http://brew.sh/][1] 。
- 方法2:是用xcode。
Windows上安装:
windows上安装是采用模拟Linux环境下进行的,所以需要先安装模拟环境。目前有个非常好的模拟环境工具,其集成了Linux环境和git,这个工具就是msysgit,从官网下载下来后直接安装即可。下载网址[https://git-for-windows.github.io/][2]
安装完成后可执行文件有3个: - git bash
- 仿Linux命令行
- git cmd
- windows命令行
- git gui
- 可视化窗口
安装完成后,需要进一步设置用户名和email。因为git是分布式版本控制工具,因此需要每台开发机自报家门。
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
git的各种命令
- 可视化窗口
- [git init][3] - 初始化版本库
- [git add][4] - 将增加或修改内容放到暂存库
- [git commit][5] - 提交暂存库的内容 每次提交必须跟上注释 git commit -m “注释”
- [git status][6] - 查看状态
- [git diff][7] - 比较两次版本的不同
- [git log][8] - 查看版本日志
- [git reflog][9] - 查看执行的命令日志
- [git reset][10] - 回退历史版本
- [git rm][11] - 从版本库中删除
- [git checkout][12] - 切换分支
- [git checkout][12] -b- 切换分支 git checkout -b dev 切换的同时创建
- [git branch][13] - 创建或查看分支
- [git merge][14] - 合并分支
- [git stash][15] - 存储工作区临时
- [git tag][16] - 创建或查看标签
- [git remote][17] - 查看远程版本库的名称
- [git push][18] - 推送本地库版本到远程库
- [git pull][19] - 从远程库拉取到本地库
- [git clone][20] - 从远程或本地克隆版本库到指定位置
常用的命令:
git init----初始化 此时文件夹中出现一个隐藏文件夹.git
创建文件:
1、在文件夹中创建了文件之后,需要在命令行中—git add 1.txt 或 git add -A 把文件添加到暂存区
2、git commit -m"创建1.txt" 把暂存区的文件上传到版本区
修改文件----文件修改完成之后直接通过命令git commit -a -m"修改1.txt"提交到版本区
删除文件:
1、手动删除文件----然后提交 git commit -a -m"删除1.txt"
2、git rm 2.txt—命令删除,然后提交git commit -m"删除2.txt"
创建分支:(系统自带主分支:master)
git branch dev
切换分支:checkout dev
切换的同时创建分支:checkout -b dev 切换的同时创建分支dev
同步信息:
1、合并分支:merge
*先切换到到旧的分支,可以通过git log 查看当前head(指针)指向的分支,然后通过旧的合并到新的分支
*当前分支合并到dev分支----- git merge dev
2、变基:rebase
把dev的基节点变更为master
*切换到dev分支----git checkout dev
*git rebase master
搭建远程托管
gitee中注册账号,并创建仓库,获取仓库地址
- 新建仓库
- 输入仓库名称
- 设置为公开源
- 选择使用Readme文件初始化仓库
关联仓库拉取数据
1、本地建立仓库,然后和远程关联
*使用git remote来指定关联的远程仓库-----git remote add origin [你的github地址]
*查看远程库信息-----git remote -v
*git pull origin master[分支名] --allow-unrelated-histories
*git push -u origin master 如果出错,需要现在本地合并更新,让head指向master
2、通过clone命令
*git clone https://gitee.com/asbdk/testgit.git
*提交数据到远程仓库----git push origin master[分支名]
备注:1、第一次推送需要输入仓库的账号和密码,如果密码输入错误,可以打开控制面板 >> 凭据管理 >> windows凭据,找到git:https://gitee.com项,删除它。再次push时又可以重新输入账号和密码。
2、推送push之前一定要本地先提交(commit)到origin master ,然后在推送