配置
代码语言:javascript复制//文件名需要区分大小写。windows不区分,所以需要本地设置
git config core.ignorecase false
分支
代码语言:javascript复制//部署test分支
git checkout test && git pull
//本地分支列表
git branch
//删除test分支
git branch -d test
//强制删除test分支
git branch -D test
//新建test2分支,并切换到test2分支
git checkout -b test2
//相当于
git branch test2 && git checkout test2
打标签
https://blog.csdn.net/jinking01/article/details/121363836
代码语言:javascript复制#查看已有的tag
git tag
#打tag
git tag -a v1.1 -m "选择签名校验的方式"
#推送到远程
git push -u origin v1.1
#删除tag
git tag -d v1.1
git stash和git stash pop
应用场景:你正在dev分支写代码,测试人员在test分支发现了严重问题,要求马上处理。这时你本地有未提交的代码,直接切test分支可能会有冲突。这时就该git stash
出场了
git stash //将修改存储到暂存区,工作区会删除这些修改
git checkout test
//。。。修复bug
//修复完成,提交修改
//切换到dev,并恢复暂存的代码
git checkout dev
git stash pop
https://blog.csdn.net/qq_36898043/article/details/79431168
git checkout
https://blog.csdn.net/wangdawei_/article/details/124567178
切换本地分支
切换到test分支
代码语言:javascript复制git checkout test
切换远程分支
//从origin/rbac
新建rbac分支,并切换到rbac分支
git checkout -b rbac origin/rbac
放弃修改
放弃所有工作区的修改
代码语言:javascript复制git checkout .
放弃对指定文件的修改
代码语言:javascript复制git checkout -- filename
放弃工作区和暂存区的所有修改
代码语言:javascript复制git checkout -f
git diff
查看修改了哪些文件(commit之前)
代码语言:javascript复制#显示新增、修改、删除的文件清单。
git diff --name-status
#仅在提交信息后显示已修改的文件清单。
git diff --name-only
#显示commit1以来的修改
git diff --name-only commit1
#显示两次commit之间的修改
git diff --name-only commit1 commit2
#例如
cuiwei@weideMacBook-Pro aaa % git diff --name-only
application/config.php
将修改的文件复制出来,并保留原来的目录结构
代码语言:javascript复制<?php
$from=__DIR__.'/';
$to=__DIR__.'/update/';
$path =<<<_END
application/config.php
_END;
$path_arr=explode("n", $path);
foreach ($path_arr as $path){
if (empty($path)) continue;
$file=$from.$path;
$to_file=$to.$path;
is_dir(dirname($to_file)) || mkdir(dirname($to_file), 0777, true);
copy($file, $to_file);
echo $to_file.PHP_EOL;
}
echo 'ok'.PHP_EOL;
https://blog.csdn.net/liuxiao723846/article/details/109689069