git入门命令
前言:
最近因为公司需求,使用github可以引用网络上的资源并且整合项目,所有需要学习以git方式的源代码管理服务器,本文主要记录《Pro Git》内容中的常用git命令,方便以后自己和读者进行查阅
目前只更新的前3章,后续等公司业务不忙了再学习更新
1.5 起步 - 安装 Git
克隆一个远程库
$git clone git://git.kernel.org/pub/scm/git/git.git
1.6 起步 - 初次运行 Git 前的配置
配置用户名以及邮箱
$git config --global user.name "John Doe"
$git config --global user.email johndoe@example.com
查看所有配置
$git config --list
1.7起步 - 获取帮助
获取帮助
$git help
2.1 Git 基础 - 获取 Git 仓库
对于现有的项目进行管理需要初始化
$git init
添加文件
$git add *.c
$git add LICENSE
提交项目并设置提交说明
$git commit -m 'initial project version'
2.2 Git 基础 - 记录每次更新到仓库
检测当前文件状态
$git status
创建文件
$ echo 'My Project' > README
$ touch .gitignore
查看未暂存的文件
$git diff
移除文件
$git rm
移动文件
$git mv
2.3 Git基础 - 查看提交历史
查看日志
$git log
$git log --pretty=oneline
重新提交
$git commit -m 'initial commit'
$git add forgotten_file
$git commit --amend
取消暂存的文件
$git reset HEAD CONTRIBUTING.md
撤销对文件的更改
$git checkout -- CONTRIBUTING.md
2.5 Git 基础 - 远程仓库的使用
查看远程仓库(-v包含远程服务器地址)
$git remote
$git remote -v
添加远程仓库
$git remote
$git remote add pb https://github.com/paulboone/ticgit
从远处仓库中拉取数据(获取最新版本)
$git fetch origin
推送到远程仓库(签入)
$git push origin master
查看远程仓库信息
$git remote show origin
远程仓库的移除与重命名
$git remote rename pb paul
$git remote rm paul
2.6 Git 基础 - 打标签
查看标签(-l ‘v1.8.5’ 查看包含1.8.5的版本号)
$git tag
$git tag -l 'v1.8.5*'
创建附注标签及注释
$git tag -a v1.4 -m 'my version 1.4
轻量标签
$git tag v1.4-lw
后期打标签
查看历史版本
$git log --pretty=oneline
选择校验和或者部分校验和为依据打标签
$git tag -a v1.2 9fceb02
共享标签(签入标签)
签入一个标签
$git push origin v1.5
签入所有标签
$git push origin –tags
检出标签
$git checkout -b version2 v2.0.0
2.7 Git基础 - Git别名
git为命令创建别名
$git config --global alias.co checkout//co就等于chechout
$git config --global alias.br branch//br就等于branch
$git config --global alias.ci commit
$git config --global alias.st status
创建自定义命令
$git config --global alias.unstage 'reset HEAD --'
这样用会使下面两个命令等价
$git unstage fileA
$git reset HEAD -- fileA
这样看起来更清楚一些。通常也会添加一个last命令,像这样:
$git config --global alias.last 'log -1 HEAD'
这样,可以轻松地看到最后一次提交:
$git last
3.1 Git 分支 - 分支简介
添加分支
$git branch testing
切换分支
$git checkout testing
查看分支(所有提交记录)
$git log --oneline --decorate
查看分支详情(所有提交记录图像)
$git log --oneline --decorate --graph --all
3.2 Git 分支 - 分支的新建与合并
新建一个分支并同时切换到那个分支上:
$git checkout -b iss53
Switched to a new branch "iss53"
它是下面两条命令的简写
$git branch iss53
$git checkout iss53
删除分支
$git branch -d hotfix
合并分支(把iss53分支合并到master)
如果合并有冲突请查看这里末尾部分有解决冲突的办法
$git merge iss53
3.3 Git 分支 - 分支管理
查看所有分支(分支名称)
$git branch
iss53
* master
testing
查看已经合并的分支
$git branch --merged
iss53
* master
查看未合并的分支
$git branch --no-merged
testing