git常用操作

编辑于 2023-07-19 02:04:37 阅读 534

配置

//文件名需要区分大小写。windows不区分,所以需要本地设置
git config core.ignorecase false

分支

//部署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

#查看已有的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分支

git checkout test

切换远程分支

//从origin/rbac新建rbac分支,并切换到rbac分支

git checkout -b rbac origin/rbac

放弃修改

放弃所有工作区的修改

git checkout .

9a05425794c04bd8a74c486ec41f69ab.png

放弃对指定文件的修改

git checkout -- filename

f72b61d6496145f18770156206ce7af2.png

放弃工作区和暂存区的所有修改

git checkout -f

4362f9c3908c4ccda4cfa80ab22f0920.png

git diff

查看修改了哪些文件(commit之前)

#显示新增、修改、删除的文件清单。
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

将修改的文件复制出来,并保留原来的目录结构

<?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

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验