本文最早由Limitsy编写,悔惜晟做了补充。
克隆
1 | $ git clone git://host.xz[:port]/path/to/repo.git |
完整命令,具体参数可以参考, 或者git clone --help
1 | git clone [--template=<template_directory>] |
更新操作
- git add .
- git commit
- git pull origin $(current_branch)’
- git push origin $(current_branch)’(没冲突 OR 先解决冲突 再重复上述操作)
合并分支
- 更新操作完成对分支的修改
- git pull origin master(合并主分支 防止有冲突)
- git push origin $(current_branch)’(没冲突 OR 先解决冲突 再重复上述操作)
- 再在线上完成分支合并
新建分支
- git checkout -b {branch} (新建分支)
- git checkout {branch} (切换到现有分支)
- git checkout –track origin/{branch} (切换到远程分支并同步到本地,之前需要操作 git pull)
Tag操作
- git tag #查看标签列表
- git tag v1.2.1 #添加标签v.1.2.1
- git tag -a v1.2.1 b477cbc #为之前提交的commit添加标签
- git show v1.2.1 #查看标签 v.1.2.1 的信息
- git push –tags # 提交时带上标签信息
- git tag -d 2.5.1001 #删除本地标签
- git push origin :refs/tags/1.2.0 #删除远程标签
coding 服务切换
Coding.net Tips : [GIT access is disabled on coding.net domain, please use git.coding.net instead. See detail: https://coding.net/u/coding/pp/54510]
fatal: Could not read from remote repository.
git remote set-url origin git://host.xz[:port]/path/to/repo.git
使用rebase 保持分支书整洁
利用rebase修改历史提交记录,可以看这里
方法1
git pull --rebase origin master
方法2
git checkout dev
git reabse master
git checkout master
git merge dev
submodule 替换为 subtree
git rm —cached app/Library
rm -rf app/Library
vi .git/config 删除submodule 配置
rm .gitmodules
//添加subtree
git remote add Library git://host.xz[:port]/path/to/repo.git
git subtree add —prefix=app/Library Library dev
git checkout -b dev
git pull origin dev 合并主分支代码
项目一键初始化
git clone git://host.xz[:port]/path/to/repo.git
composer update
mkdir storage
chmod -R 777 storage/
mkdir -p bootstrap/cache/
chmod -R 777 bootstrap/cache/
php artisan route:cache
php artisan config:cache
ps: todo 修改为一键脚本