概要
Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小到大的项目。Git易于学习,占用 空间小,性能快如闪电。它凭借廉价的本地分支、方便的暂存区域和 多个工作流程等功能,超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具。
整体架构流程
命令名词解释
- git clone (克隆) : 从远程仓库中克隆代码到本地
- git checkout (检出):从本地仓库中检出一个分支
- git add (添加) : 提交到暂存区
- git commit (提交) : 提交到本地仓库
- git fetch (抓取) : 从远程仓库抓到本地,不进行任何的合并操作,一般比较少用
- git pull (拉取):从远程仓库拉到本地, 自动进行合并(merge),然后放到工作区,相当于fetch+merge
- git push (推送) : 推送到远程仓库
技术细节
- 安装GIT (百度一大把)
- 基本设置
#设置全局变量
git config --global user.name "XXXXX"
git config --global user.email "xxxxx@qq.com"
#查看命令
git config --global user.name
git config --global user.email
#window用户可以在用户目录创建.bashrc文件 (可以不创建),内容如下
#输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#输出当前目录所有文件及基本信息
alias ll='ls -al'
#打开gitBash 执行
source ~/.bashrc
#解决GitBash乱码问题
git config --global core.quotepath false
#在 ${git_home}/etc/bash.bashrc 文件最后加如下内容
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
#找一个本地空目录执行
git init
#添加到暂存区
git add .
#提交到本地仓库
git commit -m "注释"
#看日志
git-log git log
#看历史日志
git reflog
#版本回退
git reset --hard commitID
commitID 利用 git-log或 git log 查看
#分支
git branch xxxx
#切换分支
git checkout -b xxx (-b 加入如果xxx分支不存在会创建这个分支)
#合并分支
git merge xxx (切换到a 分支 然后merge xxx分支)
#删除分支
git branch -d xxxx / git branch -D xxxx (强制删除)
#远程仓库
git remote add origin 远程仓库地址
#查看远程仓库
git remote
#推送本地分支到远程
git push origin master:master (git push origin 本地分支名:远程分支名,一样可以省略:远程分支名)
#本地分支关联远端分支
git push--set-upsteam origin master:master
#查看本地分支与远端分支的关系
git branch -vv
#克隆远程仓库到本地
git clone <远程地址> [本地目录]
#远端拉取
git pull origin master 跟 git fetch + git merge 同等效果
小结
加油吧,少年!