git教程

2017-07-24

本文是对廖雪峰官方网站 git教程中命令的总结

命令 作用
安装和简单使用git  
git config –global user.name xxx 设置用户名字,如果不加名字,则查询
git config –global user.email xxx 设置用户邮箱,如果不加邮箱,则查询
mkdir learngit 创建目录learngit
cd learngit 切换到learngit目录下
pwd 显示当前目录
git init 在当前目录下初始化一个仓库
git add readme.txt 将文件添加到仓库
git commit -m “wrote a readme file” 把文件提交到仓库
时光穿梭机  
git status 查看当前仓库状态
git diff readme.txt 查看readme.txt修改详情
版本回退  
git log 版本历史记录
git log –pretty=oneline 简化显示的版本历史记录
git reset –hard HEAD^ HEAD表示当前版本,^的个数表示版本后退次数,后退n个版本也可写为HEAD~n
cat readme.txt 查看当前版本下的readme.txt文件
git reset –hard 11ce59bceec5 最后一个参数是版本号,恢复到对应版本,版本号可以只写开始几位数字
git reflog 版本跳转日志
git diff HEAD – readme.txt 查看工作区readme.txt文件和版本库内最新版本的该文件的区别
撤销修改  
git checkout – readme.txt 将readme.txt文件撤销到最近以此commit或add后的状态
git reset HEAD readme.txt 撤销暂存区readme.txt文件,工作区修改仍然在,这是后再使用上一个命令checkout可以撤销掉工作去该文件的修改
删除文件  
git rm test.txt 在工作区删除版本库中存在的文件后,使用该操作确认要删除,然后commit可以从版本库中删除该文件,和git add相对应
添加远程仓库  
git remote add origin githubUrl 关联远程仓库origin
git push -u origin master 把本地仓库推送到远程仓库origin的master分支,-u在第一推送时起到关联本地master分支和远程master分支的作用
git push origin master 向远程仓库推送本地最新修改
从远程仓库克隆  
git clone git@github.com:jacktown11/getskill.git 复制远程仓库,从而创建本地仓库
创建与合并分支  
git branch dev 创建dev分支
git checkout dev 切换到dev分支
git checkout -b dev 创建dev分支并切换到这个分支
git branch 查看所有分支
git merge dev 把dev分支合并到当前分支
git branch -d dev 删除dev分支
分支管理策略  
git merge –no-ff -m “some message” dev 将dev分支采用非fast forward模式合并到当前分支,该模式会保留合并历史,该次合并会进行一次新的commit,所以采用-m参数提供提交信息
bug分支  
git stash 储存当前分支工作现场
git stash list 显示存储的工作现场列表
git apply stash@{n} 恢复指定的工作现场
git stash drop 删除stash内容(最上一条,栈方式)
git stash pop 恢复工作现场并删除stash内容
feature分支  
git branch -D branchName 强制删除分支
多人协作  
git remote 查看远程仓库信息
git remote -v 查看远程仓库详细信息
git pull origin master 将远程master分支合并到当前版本库分支
git push origin dev 将本地分支推送到远程dev分支,如果远程没有该分支会创建该分支
git branch –set-upstream dev origin/dev 指定本地dev分支与远程dev分支的链接
git pull 抓取远程提交的新更新
标签创建与管理  
git tag 查看所有标签
git tag 给当前分支添加标签名name
git tag 版本添加标签名
git tag -a -m 带有信息地指定标签名
git tag -s -m 使用PGP签名标签
git show 查看指定标签名的版本
git tag -d 删除标签
git push origin 将某标签推送到远程
git push origin –tags 将所有标签推送到远程
git push origin :refs/tags/ 在本地删除标签后,删除远程标签
自定义git  
git config –global color.ui true 让bash界面显示颜色
git add -f 强制添加某个文件(它可能被.ignore文件忽略添加了)
git check-ignore -v 检查某个文件被忽略是出于.ignore文件中哪条规则
git config –global alias. 全局性地为命令(组合)配置别名

(本文完)

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。