声明:参考博客
一、Git工作流程图
Workspace:工作区
Index/Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
二、Git的安装和配置
1、安装
1、liunx
Centos为例
yum install git
如果你在基于 Debian 的发行版上,请尝试用 apt-get:
apt-get install git2、Mac安装
在mac安装git,最简单是用brew包管理
安装homebrew,然后通过homebrew安装Git:brew install git3、Windows安装
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,即可使用!4、linux上的config配置
每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。
Git自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 --global选项让 Git 读写此文件。
当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。 --local 当前仓库配置5、配置用户信息
设置你的用户名称与邮件地址(这个很重要)
每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
$ git config--global user.name "your name"$ git config--global user.email "your email"
6、git配置相关命令
yum install git-y 安装git
git--version 查看git版本
git config--system --list 查看系统所有linux用户的通用配置,此命令检查/etc/gitconfig
git config--global --list 查看当前linux用户的配置,检查~/.gitconfig文件
git config--local --list 查看git目录中的仓库配置文件,.git/config文件
git config--global user.name "your name"配置当前linux用户全局用户名,这台机器所有git仓库都会用这个配置
git config--global user.email "your email"配置当前linux用户全局邮箱
git config--globalcolor.ui true 配置git语法高亮显示
git config--list 列出git能找到的所有配置,从不同的文件中读取所有结果
git config user.name 列出git某一项配置
git help 获取git帮助
man git man 手册
git help config 获取config命令的手册
2、如何配置github
1.在电脑本地新建一个空文件夹
git init#初始化本地仓库
2.配置git用户名和邮箱
git config--global user.name "写你的用户名"git config--global user.email "写你的邮箱"
3.github上配置秘匙
ssh-keygen -t rsa -b 4096 -C "你刚才配置的邮箱" #遇到需要输入的全按enter即可#生成的秘匙默认在 ~/.ssh 目录下,把公匙(pub后缀的那个文件打开即可)复制到github上
vim ~/.ssh/id_rsa.pub4.添加仓库
首先在github上新建一个仓库,然后添加远程仓库
git remote add origin git@github.com:xxx/xxxx.git #远程仓库地址
5.git可正常使用了
三、Git命令
1、新建代码库
#在当前目录新建一个Git代码库
$ git init#新建一个目录,将其初始化为Git代码库
$ git init [project-name]#下载一个项目和它的整个代码历史(克隆下来的远程仓库别名默认是:origin)
$ git clone [url]
2、配置
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)
#显示当前的Git配置
$ git config --list#编辑Git配置文件
$ git config -e [--global]#设置提交代码时的用户信息
$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]"
3、增加/删除文件
#添加指定文件到暂存区
$ git add [file1] [file2] ...#添加指定目录到暂存区,包括子目录
$ git add [dir]#添加当前目录的所有文件到暂存区
$ git add .#添加每个变化前,都会要求确认#对于同一个文件的多处变化,可以实现分次提交
$ git add -p#删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...#停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]#改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
4、代码提交
#提交暂存区到仓库区
$ git commit -m [message]#提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]#提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a#提交时显示所有diff信息
$ git commit -v#使用一次新的commit,替代上一次提交#如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]#重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] ...
5、分支
#列出所有本地分支
$ git branch#列出所有远程分支
$ git branch -r#列出所有本地分支和远程分支
$ git branch -a#新建一个分支,但依然停留在当前分支
$ git branch [branch-name]#新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 以某个远程分支为基准,创建新的分支
$ git checkout -b [branch] [master/develop]#新建一个分支,指向指定commit
$ git branch [branch] [commit]#新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]#切换到指定分支,并更新工作区
$ git checkout [branch-name]#切换到上一个分支
$ git checkout -
#建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]#合并指定分支到当前分支
$ git merge [branch]#选择一个commit,合并进当前分支
$ git cherry-pick [commit]#删除分支
$ git branch -d [branch-name]#删除远程分支
$ git push origin --del