前言
git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)不同。(维基百科)
安装
全局配置
查看所有配置
统一配置身份
1
| git config --global --edit
|
单独配置身份
配置当前使用者的用户名
<username>
:用户名
1
| git config --global user.name "<username>"
|
配置当前使用者的邮箱
<email>
:邮箱
1
| git config --clobal user.email "<email>"
|
重置用户名密码信息
1
| git config --system --unset credential.helper
|
仓库
初始化当前目录
- 初始化成功会在当前目录下自动创建一个存放git配置信息的名为
.git
的隐藏目录
查看状态
- 查看当前目录下的git状态,可以通过状态指引完成提交
新增
<name>
:文件名
新增所有
- 将当前目录及其子目录下的所有文件从工作空间添加到暂存区
提交
通过vim键入提交的备注
:wq
保存并退出完成备注
快速提交
<text>
:需要提交的备注内容
直接提交
- 将当前目录及其子目录下的所有文件从工作空间添加到暂存区,并直接进行提交
直接快速提交
- 将当前目录及其子目录下的所有文件从工作空间添加到暂存区,不需要打开vim,并直接进行快速提交
1
| git commit -a -m "<text>"
|
推送
- 预先在远程创建仓库,并将本地仓库的所有文件推送到远程仓库(公共仓库或自己部署的私有仓库)
首次推送
<url>
:远程仓库地址
1
| git remote add origin <url>
|
master
:主分支名,可以自定义
1
| git push --set-upstream origin master
|
克隆
- 首次将所有文件从远程仓库直接克隆到本地仓库(当前目录下)
<git>
:远程仓库地址
克隆后重命名
<new_name>
:新的目录名
1
| git clone <git> <new_name>
|
克隆后重新定义路径并重命名
<new_src>
:新的存放目录
1
| git clone <git> <new_src>/<new_name>
|
拉取
- 在已经克隆的情况下,从远程仓库拉取新文件到本地仓库
参数指定拉取策略
当前项目配置拉取策略
1
| git config pull.rebase false
|
1
| git config pull.rebase true
|
全局配置拉取策略
1
| git config --global pull.rebase false
|
1
| git config --global pull.rebase true
|
1
| git config --global pull.ff only
|
分支
查看当前分支
创建分支
<name>
:分支名
切换分支
合并其他分支到当前分支
删除已合并分支或空分支
强制删除分支
重命名分支
同步于主分支
远端分支信息获取到本地
将远端分支映射到本地分支
<name1>
:本地分支名
<name2>
:远端分支名
1
| git checkout -b <name1> origin/<name2>
|
版本与回滚
查看所有版本
查看当前版本之前的所有版本
从暂存区回滚一个文件
<name>
:回滚的文件名
从本地仓库回滚所有文件
<version>
:版本号
1
| git reset --hard <version>
|
强制提交
1
| git push -f origin master
|
完成
参考文献
CSDN——成长中de大神
CSDN——云胡不喜?
博客园——ChuckLu
CSDN——AdleyTales