Toggle navigation
菜菜小站
菜菜小站
前端开发
前端开发
前端基础
bootstrap
JavaScript
后端开发
后端开发
php开发
laravel
数据库
编辑器
git
服务器
服务器
https
cos云存储
ubuntu
homestead
微信开发
微信开发
微信小程序
python开发
python开发
python基础
关于
git操作命令
作者:
菜菜子
|
时间:2017-04-09 16:07:06 |
分类:
后端开发
,
git
|
访问: 1,112 次|
评论:
0 评论
##git操作 [部分来源](http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html"部分来源") [图解git](http://www.jianshu.com/p/a308acded2ce "图解git") ######本地git仓库分为三个区: ######工作区:未执行git add ...时的工作区 ######暂存区:工作区执行git add ... 后储存的区 ######仓库区:执行git commit ...后的仓库区 1. 安装git >apt install git 2. 配置用户名和邮箱(加\-\-global为全局配置) >git config \-\-global user.name "robbin" >git config \-\-global user.email "fankai#gmail.com" 3. 在需要放置文件夹的上一级目录下执行下面的命令,例如当前在www目录,执行下列代码后会在www目录下拉取一个名叫gittest的仓库文件夹 >git clone http://119.29.154.232:8888/gittest.git 4. 进入gittest文件夹 >cd gittest 5. 创建一个空文件 >touch 1.txt 6. 添加内容 > vi 1.txt > i > 这是第一行数据 > ESC > :wq! 7. 查看是否有变更文件(修改、新建、删除文件等操作) >git status 8. 提交到暂存区 > 添加指定文件到暂存区 > git add [file1] [file2] . . . > > 添加指定目录到暂存区,包括子目录 > git add [dir] > > 添加当前目录的所有文件到暂存区 > git add . 9. 将暂存区文件提交到仓库区 > git commit -m [提交的说明信息] 10. 删除工作区文件,并且将这次删除放入暂存区 >git rm [file1] [file2] ... 停止追踪指定文件,但该文件会保留在工作区 >git rm \-\-cached [file] 11. 使用一次新的commit,替代上一次提交 如果代码没有任何新变化,则用来改写上一次commit的提交信息 >git commit \-\-amend -m [修改后的说明信息] 12. 使用一次新的commit,替代上一次提交 即使代码有了新变化,也可以改写上一次commit的提交信息,并提交指定文件的修改,不会显示新的提交记录 >git commit \-\-amend [file1] [file2] -m [修改后的说明信息] #提交指定文件的修改并改写上次的提交说明 >git commit \-\-amend . -m [修改后的说明信息] #提交所有修改过的文件,并改写上次的提交说明 13. 分支推送 上传本地指定分支到远程仓库 >git push origin [branch] 强行推送当前分支到远程仓库,即使有冲突 >git push origin \-\-force 推送所有分支到远程仓库 >git push origin \-\-all 14. 查看所有tag >git tag 15. 新建一个tag在当前commit >git tag [标签名] 16. 给指定commit(哈希值)添加tag 指定的commit哈希值使用`git log`查看 >git tag [tag名称] [指定commit的哈希值] 17. 删除本地tag > git tag -d [tag名称] 18. 提交指定tag >git push origin [tag名] 19. 删除远程tag >git push origin :refs/tags/[tag名] 20. 列出tag标签及其对应的commit说明 >git tag -n 21. 列出分支 >git branch #列出本地分支 >git branch -r #列出所有远程分支 >git branch -a #列出所有本地分支和远程分支 22. 新建远程master分支 >git push origin master #新建远程master分支,以本地master分支为跟踪分支 23. 新建本地test分支和远程test分支 >git branch test > git push origin test:test #提交本地test分支作为远程test分支的跟踪分支 24. 删除远程test分支 类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。 >git push origin :test 或者 >git push origin \-\-delete test 远程test分支将会被删除 刚提交到远程的test将被删除,但是本地还是会保存 25. 切换到test分支 >git checkout test 26. 合并指定分支到当前分支 >git merge [指定分支名称] 27. 删除本地test分支 >git branch -d test 28. 显示当前分支的版本历史 >git log 29. 根据关键词,搜索提交历史。 注意关键词不是指commit的说明,而是commit的内容 >git log -S [keyword] 30. 显示commit历史,以及每次commit发生变更的文件 >git log \-\-stat 31. 显示指定文件相关的每一次diff(如果不是当前目录下需要加对应目录) >git log -p [file] 32. 显示过去n次提交(显示message信息) >git log -n \-\-pretty \-\-oneline 33. 显示所有提交过的用户,按提交次数排序 >git shortlog -sn 34. 显示指定文件是什么人在什么时间修改过,以及提交的message信息,不包含分支信息 >git blame [file] 35. 显示暂存区和工作区的差异 主要用于查看使用了git add ... 后提交文件到了暂存区,但是在之后又对提交到暂存区的文件进行了修改,下面这条命令用于参看暂存区与工作区的差异 >git diff 36. 显示当前分支的最近几次提交 >git reflog 37. 获取当前分支的远程仓库中的内容 >git fetch origin 38. 显示远程仓库的信息 >git remote show origin 39. 增加一个新的远程仓库,并命名 >git remote add [shortname] [url] 40. 显示工作区与当前分支最新commit之间的差异 >git diff HEAD 41. 将暂存区中的某文件清除,只对暂存区起作用,不对工作区起作用 >git reset HEAD \-\- file 42. 重置暂存区与工作区,与上一次commit保持一致 >git reset \-\-hard 43. 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 >git reset [commit哈希值] 44. 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 >git reset \-\-hard [commit哈希值] 45. 将 master 以zip格式打包到指定文件,可加路径,如果不加路径则默认在工作区创建zip文件 >git archive \-\-format zip \-\-output filename.zip master 46. 记住用户名和密码 >git config \-\-global credential.helper store 47. git-bash操作远程服务器 登录远程服务器 >ssh [username]@[host_ip] 退出远程服务器 >exit **提交时,常用的命令** >git add . #提交到暂存区 > >git commit -m [message信息] #提交本地暂存区到本地仓库区 > >git push origin [branch名称] #同步本地指定分支到远程仓库 **拉取某个远程分支的最新代码** >git pull origin master #如果当前为master,则获取远程服务器的master分支并与本地master分支进行合并 > >git pull origin test #如果当前为master,则获取远程服务器的test分支并与本地master进行合并 > **注意:使用pull合并后需要与远程仓库进行同步** **撤销合并** 合并是合并两个分支,所以会有两个父级分支,使用`git log`查看对应的两个父级分支离合并最近的一次提交的的哈希值,选择需要返回的父级分支的哈希值,使用下面代码进行重置 >git revert [需要返回的父级分支的哈希值]
标签:
git
还不快抢沙发
添加新评论
昵称(必填)
邮箱(必填)
网站(选填)
内容(必填)
提交评论
最新文章
ubuntu自动化安装php文件
laravel 操作redis
laravel-admin静态资源加速
laravel-admin1.6版本表单tag bug修复方法
laravel根据另外一列的值赋予grid某一列editable()
laravel-admin数据来源非数据表信息
laravel判定多对多关系是否存在
最新回复
森木志: 对的 用的就是这个版本 我看plugin.php的...
菜菜子: 插件版本呢?应该用https://github.com...
森木志: 忘记说了,typecho版本是1.2.1,php版本是...
森木志: 遇到灵异事件了,设置是没问题的,按道理来说上传成功后的...
局外人: 下载失败了,大佬帮忙看看是什么原因呢?
青丝: 7355763
菜菜子: 我好像沒有做這個提示,方便加微信吧,我看看什麼問題
青丝: 对的,提示需要8.0PHP
菜菜子: 你版本不對吧
菜菜子: 你是typecho1.2?用的是https://git...
标签
前端框架
bootstrap
laravel5
laravel-admin
laravel
微信小程序
gd库
git
wamp配置
https
表单
cos小工具
微信支付
ajax
cos
cos插件
vue
nginx
homestead
linux
ubuntu
swoole
typecho
编辑器
破解
数组
jwt
sql语言
腾讯云
邮件发送
websocket
队列
微信公众号
分页
日志
elasticsearch
wnmp
vagrant
无限极分类
分销
集合
supervisor
部署
grid
redis
python
标签
刷新
加密处理
验证码
悬浮框
权限控制
markdown
shell
mysql
测试
ui
任务调度
定时任务
deployer
gogs
反向代理
ftp
归档
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2017年09月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
友情链接
空
//