friendlessstar 发表于 2018-9-18 07:40:51

分布式版本管理器Git的基础操作与配置指南<一>

  对于任何一个文件,在Git内都只有3种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地波啊存在本地数据库中了,已修改表示修改了某个文件,但还没有提交保存,已暂存表示把已修改的文件放在下次提交时要保存的清单中。
  一.基本的Git工作流程如下所示:

[*]  在工作目录中修改某些文件
[*]  对这些修改了的文件做快照,并保存到暂存区域
[*]  提交更新,将保存在暂存区域的文件快照转储到git目录中
  二.Git安装
  yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y

[*]  从源码安装
  tar zxf git-1.6.0.5.tar.gz
  cd git-1.6.0.5
  make prefix=/usr/local
  make install
  2.rpm包安装
  yum install git git-core -y
  三.初次运行Git前的配置
  Git的配置文件有:/etc/gitconfig,~/.gitconfig,.git/config(工作目录里),每个级别的配置都会覆盖上层相同配置,所有.git/config里的配置会覆盖/etc/gitconfig中的同名变量
  1.用户信息
  git config --global user.name "John Doe"
  git config --global user.email johnode@example.com
  2.编辑器
  git config --global core.editor vi
  git config --list 检查已有的配置信息
  --global选项,读写的是/etc/gitconfig
  --system选项,读写的是~/.gitconfig
  四.Git的基础用法
  取得项目的Git仓库
  1.从当前目录初始化git init
  2.从现有仓库克隆eg:git clone git://github.com/schacon/grit.git
  Git的常用操作工作目录下面的所有文件都不外乎两种状态:已跟踪或未跟踪。已跟踪的文件就是指本来就被纳入版本控制管理的文件,其它文件都属于未跟踪文件
  基本操作
  1.git status 确定哪些文件当前处于什么状态
  2.git add filename 开始跟踪一个新文件或者把已跟踪的文件放到暂存区
  3.git diff查看尚未暂存的文件更新了哪些部分
  git diff --cached查看已经暂存起来的文件和上次提交时的快照之间的差异
  4.git commit -m "string"提交更新只限于暂存区域的文件
  git commit -a -m "string"把所有已经跟踪过的文件暂存起来一并提交,从而跳过了git add步骤      5.git rm filename从已跟踪文件清单中移除某个文件
  6.git rm --cached filename文件从Git仓库删除,但仍保留在当前的工作目录中
  7.git mv file1 file2移动文件或者重命名文件
  8.git log 查看提交历史
  git log -p -2   -p选项展开显示每次提交的内容差异,-2表示仅显示最近的2次更新
  git log --stat快速浏览其他协作者提交的更新都做了哪些改动
  git log --pretty=oneline使用完全不同与默认格式的方式展示提交历史
  gitk 是git的图形化查询提交历史的工具
  9.git commit --amend撤销操作
  eg:git commit -m "initial commit"
  git add file
  git commit --amend 这三条命令最终得到一个提交,第二个提交命令修正了第一个提交的内容
  10.git reset HEAD filename取消已暂存的文件,该命令是git status 后出现的提示命令
  11.git checkout -- filename取消对文件的修改,该命令是git status 后出现的提示命令
  五.对远程仓库的使用
  git clone git://github.com/schacon/ticgit.git
  cd ticgit
  1.git remote 列出远程库的简短名字
  git remote -v显示远程库的简短名字和对应的克隆地址
  2.git remote add pb git://github.com/paulboone/ticgit.git添加一个新的远程仓库,指定一个简短的名字,一边将来引用git fetch pb 抓取所有paulboone有的,本地仓库没有的信息
  3.git push origin master把本地的master分支推送到origin服务器上,只有所有克隆的服务器有写权限,并且同一时刻没有其他人在推送数据,这条命令才会如期执行,其他人如果推送了若干更新,那你的操作会被驳回,你必须把他们的更新抓取到本地,并到自己的项目中,才能再次推送
  4.git remote rename pb paul修改某个远程仓库的简短名称,把pb改成paul
  5.git remote rm paul移除远端的仓库

页: [1]
查看完整版本: 分布式版本管理器Git的基础操作与配置指南<一>