西红门网站建设公司,如何让百度快速收录网站,下载网站源文件,建立企业网站的形式2、git进阶操作
2.1.1 分支的创建
命令参数含义git branch (git checkout -b)new_branch old_branch表示创建分支-d -D删除分支 –d如果分支没有合并#xff0c;git会提醒#xff0c;-D强制删除-a -v查看分支-m重新命名分支commit id从指定的commi…2、git进阶操作
2.1.1 分支的创建
命令参数含义git branch (git checkout -b)new_branch old_branch表示创建分支-d -D删除分支 –d如果分支没有合并git会提醒-D强制删除-a -v查看分支-m重新命名分支commit id从指定的commit id签出代码 git branch branch_name commit id$ git push origin branch_name将本地分支推到远程 $ git push origin branch_name --delete 将远程分支删除 ### 2.1.2 分支的合并
命令参数含义git mergebranch_name需要合并的分支--abort终止合并并回复文件--continue继续合并 ### 2.1.3 git rebase
命令参数含义git rebasebranch_1 branch_2将branch_1上面的移动到branch_2--abort终止rebase--continue继续rebase-i进入交互模式
2.2 git reset/revert/checkout撤销操作
命令参数含义git reset--soft commit_id撤销到某个commit不修改工作区和索引区内容--mixed commit_id 撤销到某个commit不修改工作区修改索引区内容--hard commit_id撤销到某个commit并重置工作区和索引区内容HEAD file_name撤销索引区指定的file_namegit revertcommit_id只撤销某个commitgit checkout-- . 撤销工作区所有文件
2.3 git remote远程服务器操作
创建仓库git clone --bare DataStruct-Algorithm /F/datastruct-algorithm.gitgit init --bare DataStruct_algorithm.git
命令参数含义git remote-v查看详细的信息show server_name查看主机的详细信息add server_name web_site添加主机rm server_name删除主机rename old_server_name new_ server_name修改主机名
2.4 git log高级用法
命令参数含义git log-n表示查看最近提交的n条记录--graph显示当前分支提交记录以图形方式展示后面—all 表示所有的分支--dateshort查看提交的时间-p表示提交文件的修改了那些内容file_name表示查看file_name文件的提交记录commit_id..commit_id查看两个commit id之间的提交记录--sincedate自date以来的记录 --beforedate表达date之前的记录--afterdate表示date之后的记录--untildate表达直到date之后的记录$ git log --since2019-07-11 --until2019-07-16 --dateshort\n 表示2019-07-11~2019-07-16不包括16号之间提交的记录 --grepcontents根据提交的message内容进行匹配--author”author_name”根据作者名来搜索--skipn跳过前面的n条记录--stat显示提交的文件--left-right branch1…branch2比较两个分支的commit差异
命令参数含义git reflog show查看当前分支的记录--all查看所有分支的记录在找到commit id之后可以使用cherry-pick branch等命令 reflog有个特点就是它只存在本地记录里面并不会上传到服务器上
2.5 git diff/show查看提交详情
2.5.1 diff
命令参数含义git diff不加参数尚未缓存的修改还未执行add命令--cached已经缓存的修改branch_name1 branch_name2 [file_name]比较两个分支file_name的差异commit_id commit_id比较两个commit id 区别
3.5.2 show
命令参数含义git showcommit_id显示commit id提交修改的内容commit_id file_name查看commit id 中对应的file_name修改内容tag_name查看tag信息 ### 2.6 git tag操作
命令参数含义git tag-m注释信息-f强制覆盖-d删除-l列出所有的tag-n列出详细信息$ git tag v2.0.0.0 –m “new version v2.0.0.0” $ git ls-remote --tags server_name查看远程tag $ git fetch server_name tag_name 拉取远程tag $ git push --delete server_name tag_name 删除远程的tag
注意在checkout tag的时候如果我们在当前的tag上做了提交就会造成一个游离的HEAD现象这是个非常危险的操作有可能会造成你的commit丢失问题。
2.7 git stash操作
stash的查看增加删除对比应用
命令参数含义git stashsave [message]保存stash并且有注释信息show [stash] -p查看某个stash的详细信息drop [stash]删除某个stashpop将当前的第一个stash应用到当前的分支上apply [stash]应用指定的stash并且保存stash不变化clear清空stashlist查看所有的stash
2.8 git blame操作
命令参数含义git blame file_name查看这个文件都有谁提交的file_name -L num1:num2查看这个文件从num1行到num2行都有谁提交的file_name –L:function_name查看这个文件里面函数最后一次谁修改过--colors-lines显示颜色标记这个命令有时候可以结合grep使用主要是为了精确查找信息 ### 2.9 git patch 操作
1.先生成patch文件$ git format-patch start_commit_id..end_commit_id$ git format-patch –n32.可以事先检测在合并的时候是否存在冲突$ git apply --check patch_file3.合并patch文件$ git am patch_file4.撤销patch$ git apply –R patch_file
2.10 git submodule管理大型项目的利剑
$ git init –bare test_submodule.git$ git submodule add gitgithub.com:MingYueRuYa/cpp_inside_object.git$ git submodule add gitgithub.com:MingYueRuYa/cpp_study.git$ git commit –m “add submodule”$ git push
拉取远程分支$ git clone gitgithub.com:MingYueRuYa/test_submodule.git$ git submodule init$ git submodule update git submodule update –init 将上面的两步合起来$ git submodule foreach git pull$ git submodule foreach git submodule update$ git rm -rf submodule_name (删除submodule)