一些简单的git命令
2015-09-10 11:04
253 查看
一、安装设置
安装完git后,进行的一些设置:( 为本机的仓库指定用户名和Email地址)
$ git config –global user.name “Your Name”
$ git config –global user.email “email@example.com”
创建版本库:
(切换到一个合适的空目录下,然后把这个目录变成Git可以管理的仓库)
$ git init
二、本地仓库操作
将文件放到git仓库中:$ git add file
$ git commit -m “注释”
例如:
$ git add readme.txt
$ git commit -m “wrote a readme file”
显示仓库当前状态:
$ git status
查看仓库中文件修改了什么内容:
$ git diff
显示从最近到最远的提交日志:
$ git log
或者:
$ git log –pretty=oneline
回退到上一个版本:
(在Git中,用HEAD表示当前版本,上一个版本就 是HEAD^,上上一个版本就是HEAD^^,往上10个版本写成HEAD~10。)
$ git reset –hard HEAD^
回退到上一个版本后,再回到原先的版本:
$ git reset –hard 版本号
例如:
$ git reset –hard 3628164(版本号不必写全,git可以自动查找)
查看命令历史(可以用于查找忘记的版本号):
$ git reflog
撤销修改:
$ git checkout – file
例如:
$ git checkout – test.txt
删除文件:
$ git rm file
$ git commit -m “注释”
例如:
$ git rm test.txt
$ git commit -m “remove test.txt”
三、远程仓库操作
把本地仓库的内容推送到GitHub仓库:a、在本地的learngit仓库下运行命令:
$ git remote add origin git@github.com:用户名/仓库名.git
or
$ git remote add origin https://github.com/用户名/仓库名.git
b、把本地库的所有内容推送到远程库上:
$ git push -u origin master
从远程克隆一个本地库:
$ git clone git@github.com:用户名/仓库名.git
四、分支管理
创建dev分支,然后切换到dev分支:$ git checkout -b dev
查看当前分支:
$ git branch
切换到master
$ git checkout master
把dev分支合并到master分支上:
$ git merge dev
删除dev分支:
$ git branch -d dev
查看分支合并图:
$git log –graph
例如:
$ git log –graph –pretty=oneline –abbrev-commit
合并dev分支时强制禁用Fast forward模式(删除分支后,不会丢掉分支信息):
$ git merge –no-ff -m “merge with no-ff” dev
保存工作现场:
$ git stash
恢复工作现场:
$ git stash apply (恢复后stash内容并不删除)
$ git stash drop (删除stash内容)
or
$ git stash pop(恢复的同删除stash内容)
多个stash的恢复工作现场:
$ git stash list(查看stash列表)
$ git stash apply stash@{0}
没有合并的分支强制删除:
$ git branch -D feature
查看远程库的信息:
$ git remote
$ git remote -v(显示更详细的信息)
推送分支:
$ git push origin branch-name
从远程抓取分支:
$ git pull
在本地创建和远程分支对应的分支:
$ git checkout -b branch-name origin/branch-name(本地和远程分支的名称最好一致)
建立本地分支和远程分支的关联:
$ git branch –set-upstream branch-name origin/branch-name
五、标签管理
创建标签v1:$ git tag v1
给已提交的动作添加标签:
$ git tag v1 1234567(数字是commit id)
查看标签信息:
$ git show v1
创建带有注释说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v1 -m “注释” 3628164 (数字是commit id)
通过-s用私钥签名一个标签:
$ git tag -s v1 -m “注释”
查看所有标签:
$ git tag
删除标签:
$ git tag -d v1
推送标签到远程:
$ git push origin v1
推送全部尚未推送到远程的本地标签:
$ git push origin –tags
标签已经推送到远程,要删除远程标签:
$ git tag -d v1(先从本地删除)
$ git push origin :refs/tags/v1(从远程删除)
六、配置别名
配置别名:例如:用st表示status:
$ git config –global alias.st status
相关文章推荐
- 《招聘一个靠谱的iOS》|| 文章 || 面试题 || 参考答案
- mochiweb 的使用
- ArcGIS
- Java数据类型
- mysql里的like问题
- [Android Pro] android 混淆文件project.properties和proguard-project.txt
- spray-routing中的Exception Handling
- 创建和管理表_数据处理_约束
- 欢迎使用CSDN-markdown编辑器
- 苹果新品发布会亮点回顾:四大产品同时发布 iPhone 6s压轴登场
- JZ_4775 电池驱动 (二)
- eclipse res里面的资源文件命名问题
- AC_CONFIG_HEADER
- iOS开发UI篇—程序启动原理和UIApplication
- Xcode_7_GM_seed.dmg下载
- Angular.js初体验
- iPhone 6S VS Galaxy Note5,高端智能机新一轮大战拉开帷幕
- PHP截取字符函数
- 【未完】memcached启动/结束、添加开机服务
- Cadance约束设置分析4