[{"data":1,"prerenderedAt":2577},["ShallowReactive",2],{"post-2026-04-09-gitbasicchapter":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"tags":11,"body":14,"_type":2571,"_id":2572,"_source":2573,"_file":2574,"_stem":2575,"_extension":2576},"\u002Fblog\u002F2026-04-09-gitbasicchapter","blog",false,"","Git 基础篇","Git版本控制工具首次体验，了解git本地常见指令集，比如：添加到暂存区、提交、合并冲突、分支操作等等...","2026-04-09",[12,13],"工具","版本控制",{"type":15,"children":16,"toc":2543},"root",[17,26,33,47,56,61,69,99,111,117,131,254,260,265,289,309,324,393,401,420,426,434,466,488,537,543,548,594,600,605,613,650,658,773,779,791,799,804,869,874,882,892,943,951,957,998,1004,1113,1119,1168,1174,1195,1239,1247,1302,1308,1358,1433,1439,1452,1462,1613,1619,1624,1630,1661,1667,1711,1717,1803,1809,1862,1868,1940,1946,1951,1959,1980,2108,2121,2168,2173,2222,2228,2233,2240,2263,2269,2304,2310,2344,2350,2398,2403,2426,2434,2440,2448,2457,2537],{"type":18,"tag":19,"props":20,"children":22},"element","h2",{"id":21},"_1-git-安装与常用命令",[23],{"type":24,"value":25},"text","1 Git 安装与常用命令",{"type":18,"tag":27,"props":28,"children":30},"h3",{"id":29},"_11-git-安装",[31],{"type":24,"value":32},"1.1 Git 安装",{"type":18,"tag":34,"props":35,"children":36},"p",{},[37,39],{"type":24,"value":38},"Git官网 - Windows安装地址：",{"type":18,"tag":40,"props":41,"children":45},"a",{"href":42,"rel":43},"https:\u002F\u002Fgit-scm.cn\u002Finstall\u002Fwindows",[44],"nofollow",[46],{"type":24,"value":42},{"type":18,"tag":34,"props":48,"children":49},{},[50],{"type":18,"tag":51,"props":52,"children":55},"img",{"alt":53,"src":54},"1775712053926","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775712053926.png",[],{"type":18,"tag":34,"props":57,"children":58},{},[59],{"type":24,"value":60},"Git 是否安装成功验证方式：",{"type":18,"tag":34,"props":62,"children":63},{},[64],{"type":18,"tag":51,"props":65,"children":68},{"alt":66,"src":67},"1775714157325","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775714157325.png",[],{"type":18,"tag":70,"props":71,"children":72},"blockquote",{},[73,84],{"type":18,"tag":34,"props":74,"children":75},{},[76,82],{"type":18,"tag":77,"props":78,"children":79},"strong",{},[80],{"type":24,"value":81},"备注",{"type":24,"value":83},":",{"type":18,"tag":85,"props":86,"children":87},"ul",{},[88,94],{"type":18,"tag":89,"props":90,"children":91},"li",{},[92],{"type":24,"value":93},"Git GUI：Git提供的图形界面工具",{"type":18,"tag":89,"props":95,"children":96},{},[97],{"type":24,"value":98},"Git Bash：Git提供的命令行工具",{"type":18,"tag":34,"props":100,"children":101},{},[102,104,109],{"type":24,"value":103},"当安装Git后首先要做的事情是",{"type":18,"tag":77,"props":105,"children":106},{},[107],{"type":24,"value":108},"设置用户名称和email地址",{"type":24,"value":110},"。这是非常重要的，因为每次Git提交都会使用该用户信息",{"type":18,"tag":27,"props":112,"children":114},{"id":113},"_12-git-基本配置",[115],{"type":24,"value":116},"1.2 Git 基本配置",{"type":18,"tag":118,"props":119,"children":120},"ol",{},[121,126],{"type":18,"tag":89,"props":122,"children":123},{},[124],{"type":24,"value":125},"打开Git Bash",{"type":18,"tag":89,"props":127,"children":128},{},[129],{"type":24,"value":130},"设置用户信息",{"type":18,"tag":132,"props":133,"children":137},"pre",{"className":134,"code":135,"language":136,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","git config --global user.name \"your_name\"\ngit config --global user.email \"your_email\"\n# 查看配置信息\ngit config --global user.name\ngit config --global user.email\n","bash",[138],{"type":18,"tag":139,"props":140,"children":141},"code",{"__ignoreMap":7},[142,176,202,212,233],{"type":18,"tag":143,"props":144,"children":147},"span",{"class":145,"line":146},"line",1,[148,154,160,166,171],{"type":18,"tag":143,"props":149,"children":151},{"style":150},"--shiki-default:#B392F0",[152],{"type":24,"value":153},"git",{"type":18,"tag":143,"props":155,"children":157},{"style":156},"--shiki-default:#9ECBFF",[158],{"type":24,"value":159}," config",{"type":18,"tag":143,"props":161,"children":163},{"style":162},"--shiki-default:#79B8FF",[164],{"type":24,"value":165}," --global",{"type":18,"tag":143,"props":167,"children":168},{"style":156},[169],{"type":24,"value":170}," user.name",{"type":18,"tag":143,"props":172,"children":173},{"style":156},[174],{"type":24,"value":175}," \"your_name\"\n",{"type":18,"tag":143,"props":177,"children":179},{"class":145,"line":178},2,[180,184,188,192,197],{"type":18,"tag":143,"props":181,"children":182},{"style":150},[183],{"type":24,"value":153},{"type":18,"tag":143,"props":185,"children":186},{"style":156},[187],{"type":24,"value":159},{"type":18,"tag":143,"props":189,"children":190},{"style":162},[191],{"type":24,"value":165},{"type":18,"tag":143,"props":193,"children":194},{"style":156},[195],{"type":24,"value":196}," user.email",{"type":18,"tag":143,"props":198,"children":199},{"style":156},[200],{"type":24,"value":201}," \"your_email\"\n",{"type":18,"tag":143,"props":203,"children":205},{"class":145,"line":204},3,[206],{"type":18,"tag":143,"props":207,"children":209},{"style":208},"--shiki-default:#6A737D",[210],{"type":24,"value":211},"# 查看配置信息\n",{"type":18,"tag":143,"props":213,"children":215},{"class":145,"line":214},4,[216,220,224,228],{"type":18,"tag":143,"props":217,"children":218},{"style":150},[219],{"type":24,"value":153},{"type":18,"tag":143,"props":221,"children":222},{"style":156},[223],{"type":24,"value":159},{"type":18,"tag":143,"props":225,"children":226},{"style":162},[227],{"type":24,"value":165},{"type":18,"tag":143,"props":229,"children":230},{"style":156},[231],{"type":24,"value":232}," user.name\n",{"type":18,"tag":143,"props":234,"children":236},{"class":145,"line":235},5,[237,241,245,249],{"type":18,"tag":143,"props":238,"children":239},{"style":150},[240],{"type":24,"value":153},{"type":18,"tag":143,"props":242,"children":243},{"style":156},[244],{"type":24,"value":159},{"type":18,"tag":143,"props":246,"children":247},{"style":162},[248],{"type":24,"value":165},{"type":18,"tag":143,"props":250,"children":251},{"style":156},[252],{"type":24,"value":253}," user.email\n",{"type":18,"tag":27,"props":255,"children":257},{"id":256},"_13-git-常用指令配置别名可选",[258],{"type":24,"value":259},"1.3 Git 常用指令配置别名（可选）",{"type":18,"tag":34,"props":261,"children":262},{},[263],{"type":24,"value":264},"有些常用的指令参数非常多，每次都要输入好多参数，我们可以使用别名。",{"type":18,"tag":118,"props":266,"children":267},{},[268],{"type":18,"tag":89,"props":269,"children":270},{},[271,273,279,281,287],{"type":24,"value":272},"打开用户目录 ",{"type":18,"tag":139,"props":274,"children":276},{"className":275},[],[277],{"type":24,"value":278},"C:\\Users\\用户名",{"type":24,"value":280},"，创建 ",{"type":18,"tag":139,"props":282,"children":284},{"className":283},[],[285],{"type":24,"value":286},".bashrc",{"type":24,"value":288}," 文件。部分Windows系统不允许用户创建点号开头的文件，可以打开Git Bash，执行：",{"type":18,"tag":132,"props":290,"children":292},{"className":134,"code":291,"language":136,"meta":7,"style":7},"touch ~\u002F.bashrc\n",[293],{"type":18,"tag":139,"props":294,"children":295},{"__ignoreMap":7},[296],{"type":18,"tag":143,"props":297,"children":298},{"class":145,"line":146},[299,304],{"type":18,"tag":143,"props":300,"children":301},{"style":150},[302],{"type":24,"value":303},"touch",{"type":18,"tag":143,"props":305,"children":306},{"style":156},[307],{"type":24,"value":308}," ~\u002F.bashrc\n",{"type":18,"tag":118,"props":310,"children":311},{"start":178},[312],{"type":18,"tag":89,"props":313,"children":314},{},[315,317,322],{"type":24,"value":316},"在 ",{"type":18,"tag":139,"props":318,"children":320},{"className":319},[],[321],{"type":24,"value":286},{"type":24,"value":323}," 文件中输入如下内容：",{"type":18,"tag":132,"props":325,"children":327},{"className":134,"code":326,"language":136,"meta":7,"style":7},"# 用于输出git提交日志\nalias git-log='git log --pretty=oneline --all --graph --abbrev-commit'\n# 用于输出当前目录所有文件及基本信息\nalias ll='ls -al'\n",[328],{"type":18,"tag":139,"props":329,"children":330},{"__ignoreMap":7},[331,339,364,372],{"type":18,"tag":143,"props":332,"children":333},{"class":145,"line":146},[334],{"type":18,"tag":143,"props":335,"children":336},{"style":208},[337],{"type":24,"value":338},"# 用于输出git提交日志\n",{"type":18,"tag":143,"props":340,"children":341},{"class":145,"line":178},[342,348,354,359],{"type":18,"tag":143,"props":343,"children":345},{"style":344},"--shiki-default:#F97583",[346],{"type":24,"value":347},"alias",{"type":18,"tag":143,"props":349,"children":351},{"style":350},"--shiki-default:#E1E4E8",[352],{"type":24,"value":353}," git-log",{"type":18,"tag":143,"props":355,"children":356},{"style":344},[357],{"type":24,"value":358},"=",{"type":18,"tag":143,"props":360,"children":361},{"style":156},[362],{"type":24,"value":363},"'git log --pretty=oneline --all --graph --abbrev-commit'\n",{"type":18,"tag":143,"props":365,"children":366},{"class":145,"line":204},[367],{"type":18,"tag":143,"props":368,"children":369},{"style":208},[370],{"type":24,"value":371},"# 用于输出当前目录所有文件及基本信息\n",{"type":18,"tag":143,"props":373,"children":374},{"class":145,"line":214},[375,379,384,388],{"type":18,"tag":143,"props":376,"children":377},{"style":344},[378],{"type":24,"value":347},{"type":18,"tag":143,"props":380,"children":381},{"style":350},[382],{"type":24,"value":383}," ll",{"type":18,"tag":143,"props":385,"children":386},{"style":344},[387],{"type":24,"value":358},{"type":18,"tag":143,"props":389,"children":390},{"style":156},[391],{"type":24,"value":392},"'ls -al'\n",{"type":18,"tag":118,"props":394,"children":395},{"start":204},[396],{"type":18,"tag":89,"props":397,"children":398},{},[399],{"type":24,"value":400},"打开 Git Bash，执行配置生效命令",{"type":18,"tag":132,"props":402,"children":404},{"className":134,"code":403,"language":136,"meta":7,"style":7},"source ~\u002F.bashrc\n",[405],{"type":18,"tag":139,"props":406,"children":407},{"__ignoreMap":7},[408],{"type":18,"tag":143,"props":409,"children":410},{"class":145,"line":146},[411,416],{"type":18,"tag":143,"props":412,"children":413},{"style":162},[414],{"type":24,"value":415},"source",{"type":18,"tag":143,"props":417,"children":418},{"style":156},[419],{"type":24,"value":308},{"type":18,"tag":27,"props":421,"children":423},{"id":422},"_14-解决gitbash乱码问题",[424],{"type":24,"value":425},"1.4 解决GitBash乱码问题",{"type":18,"tag":118,"props":427,"children":428},{},[429],{"type":18,"tag":89,"props":430,"children":431},{},[432],{"type":24,"value":433},"打开GitBash执行下面命令",{"type":18,"tag":132,"props":435,"children":437},{"className":134,"code":436,"language":136,"meta":7,"style":7},"git config --global core.quotepath false\n",[438],{"type":18,"tag":139,"props":439,"children":440},{"__ignoreMap":7},[441],{"type":18,"tag":143,"props":442,"children":443},{"class":145,"line":146},[444,448,452,456,461],{"type":18,"tag":143,"props":445,"children":446},{"style":150},[447],{"type":24,"value":153},{"type":18,"tag":143,"props":449,"children":450},{"style":156},[451],{"type":24,"value":159},{"type":18,"tag":143,"props":453,"children":454},{"style":162},[455],{"type":24,"value":165},{"type":18,"tag":143,"props":457,"children":458},{"style":156},[459],{"type":24,"value":460}," core.quotepath",{"type":18,"tag":143,"props":462,"children":463},{"style":162},[464],{"type":24,"value":465}," false\n",{"type":18,"tag":118,"props":467,"children":468},{"start":178},[469],{"type":18,"tag":89,"props":470,"children":471},{},[472,478,480,486],{"type":18,"tag":139,"props":473,"children":475},{"className":474},[],[476],{"type":24,"value":477},"${git_home}\u002Fetc\u002Fbash.bashrc",{"type":24,"value":479}," 文件最后加入下面两行（ ",{"type":18,"tag":139,"props":481,"children":483},{"className":482},[],[484],{"type":24,"value":485},"git_home",{"type":24,"value":487}," 表示Git的安装目录）",{"type":18,"tag":132,"props":489,"children":491},{"className":134,"code":490,"language":136,"meta":7,"style":7},"export LANG=\"zh_CN.UTF-8\"\nexport LC_ALL=\"zh_CN.UTF-8\"\n",[492],{"type":18,"tag":139,"props":493,"children":494},{"__ignoreMap":7},[495,517],{"type":18,"tag":143,"props":496,"children":497},{"class":145,"line":146},[498,503,508,512],{"type":18,"tag":143,"props":499,"children":500},{"style":344},[501],{"type":24,"value":502},"export",{"type":18,"tag":143,"props":504,"children":505},{"style":350},[506],{"type":24,"value":507}," LANG",{"type":18,"tag":143,"props":509,"children":510},{"style":344},[511],{"type":24,"value":358},{"type":18,"tag":143,"props":513,"children":514},{"style":156},[515],{"type":24,"value":516},"\"zh_CN.UTF-8\"\n",{"type":18,"tag":143,"props":518,"children":519},{"class":145,"line":178},[520,524,529,533],{"type":18,"tag":143,"props":521,"children":522},{"style":344},[523],{"type":24,"value":502},{"type":18,"tag":143,"props":525,"children":526},{"style":350},[527],{"type":24,"value":528}," LC_ALL",{"type":18,"tag":143,"props":530,"children":531},{"style":344},[532],{"type":24,"value":358},{"type":18,"tag":143,"props":534,"children":535},{"style":156},[536],{"type":24,"value":516},{"type":18,"tag":27,"props":538,"children":540},{"id":539},"_15-git-常用命令",[541],{"type":24,"value":542},"1.5 Git 常用命令",{"type":18,"tag":34,"props":544,"children":545},{},[546],{"type":24,"value":547},"本教程里的git命令例子都是在Git Bash中演示的，会用到一些基本的linux命令，在此为大家提前列举：",{"type":18,"tag":85,"props":549,"children":550},{},[551,562,573,583],{"type":18,"tag":89,"props":552,"children":553},{},[554,560],{"type":18,"tag":139,"props":555,"children":557},{"className":556},[],[558],{"type":24,"value":559},"ls\u002Fll",{"type":24,"value":561},"：查看当前目录",{"type":18,"tag":89,"props":563,"children":564},{},[565,571],{"type":18,"tag":139,"props":566,"children":568},{"className":567},[],[569],{"type":24,"value":570},"cat",{"type":24,"value":572},"：查看文件内容",{"type":18,"tag":89,"props":574,"children":575},{},[576,581],{"type":18,"tag":139,"props":577,"children":579},{"className":578},[],[580],{"type":24,"value":303},{"type":24,"value":582},"：创建文件",{"type":18,"tag":89,"props":584,"children":585},{},[586,592],{"type":18,"tag":139,"props":587,"children":589},{"className":588},[],[590],{"type":24,"value":591},"vim",{"type":24,"value":593}," ：vim编辑器（可以记事本、editPlus、notPad++等其它编辑器）",{"type":18,"tag":19,"props":595,"children":597},{"id":596},"_2-获取本地仓库",[598],{"type":24,"value":599},"2 获取本地仓库",{"type":18,"tag":34,"props":601,"children":602},{},[603],{"type":24,"value":604},"要使用Git对我们的代码进行版本控制，首先需要获得本地仓库",{"type":18,"tag":34,"props":606,"children":607},{},[608],{"type":18,"tag":77,"props":609,"children":610},{},[611],{"type":24,"value":612},"操作步骤",{"type":18,"tag":118,"props":614,"children":615},{},[616,621,626,637],{"type":18,"tag":89,"props":617,"children":618},{},[619],{"type":24,"value":620},"在电脑的任意位置创建一个空目录（例如test）作为我们的本地Git仓库",{"type":18,"tag":89,"props":622,"children":623},{},[624],{"type":24,"value":625},"进入这个目录中，点击右键打开Git bash窗口",{"type":18,"tag":89,"props":627,"children":628},{},[629,631],{"type":24,"value":630},"执行命令 ",{"type":18,"tag":139,"props":632,"children":634},{"className":633},[],[635],{"type":24,"value":636},"git init",{"type":18,"tag":89,"props":638,"children":639},{},[640,642,648],{"type":24,"value":641},"如果创建成功后可在文件夹下看到隐藏的",{"type":18,"tag":139,"props":643,"children":645},{"className":644},[],[646],{"type":24,"value":647},".git",{"type":24,"value":649},"目录",{"type":18,"tag":34,"props":651,"children":652},{},[653],{"type":18,"tag":77,"props":654,"children":655},{},[656],{"type":24,"value":657},"命令执行示例",{"type":18,"tag":132,"props":659,"children":661},{"className":134,"code":660,"language":136,"meta":7,"style":7},"# 初始化当前目录为一个git仓库\n31245@HUAWEINotBook16 MINGW64 \u002Fd\u002FDailyFile\u002Fgit-test\u002Ftest01\n$ git init\nInitialized empty Git repository in D:\u002FDailyFile\u002Fgit-test\u002Ftest01\u002F.git\u002F\n\n31245@HUAWEINotBook16 MINGW64 \u002Fd\u002FDailyFile\u002Fgit-test\u002Ftest01 (master)\n",[662],{"type":18,"tag":139,"props":663,"children":664},{"__ignoreMap":7},[665,673,691,709,742,751],{"type":18,"tag":143,"props":666,"children":667},{"class":145,"line":146},[668],{"type":18,"tag":143,"props":669,"children":670},{"style":208},[671],{"type":24,"value":672},"# 初始化当前目录为一个git仓库\n",{"type":18,"tag":143,"props":674,"children":675},{"class":145,"line":178},[676,681,686],{"type":18,"tag":143,"props":677,"children":678},{"style":150},[679],{"type":24,"value":680},"31245@HUAWEINotBook16",{"type":18,"tag":143,"props":682,"children":683},{"style":156},[684],{"type":24,"value":685}," MINGW64",{"type":18,"tag":143,"props":687,"children":688},{"style":156},[689],{"type":24,"value":690}," \u002Fd\u002FDailyFile\u002Fgit-test\u002Ftest01\n",{"type":18,"tag":143,"props":692,"children":693},{"class":145,"line":204},[694,699,704],{"type":18,"tag":143,"props":695,"children":696},{"style":150},[697],{"type":24,"value":698},"$",{"type":18,"tag":143,"props":700,"children":701},{"style":156},[702],{"type":24,"value":703}," git",{"type":18,"tag":143,"props":705,"children":706},{"style":156},[707],{"type":24,"value":708}," init\n",{"type":18,"tag":143,"props":710,"children":711},{"class":145,"line":214},[712,717,722,727,732,737],{"type":18,"tag":143,"props":713,"children":714},{"style":150},[715],{"type":24,"value":716},"Initialized",{"type":18,"tag":143,"props":718,"children":719},{"style":156},[720],{"type":24,"value":721}," empty",{"type":18,"tag":143,"props":723,"children":724},{"style":156},[725],{"type":24,"value":726}," Git",{"type":18,"tag":143,"props":728,"children":729},{"style":156},[730],{"type":24,"value":731}," repository",{"type":18,"tag":143,"props":733,"children":734},{"style":156},[735],{"type":24,"value":736}," in",{"type":18,"tag":143,"props":738,"children":739},{"style":156},[740],{"type":24,"value":741}," D:\u002FDailyFile\u002Fgit-test\u002Ftest01\u002F.git\u002F\n",{"type":18,"tag":143,"props":743,"children":744},{"class":145,"line":235},[745],{"type":18,"tag":143,"props":746,"children":748},{"emptyLinePlaceholder":747},true,[749],{"type":24,"value":750},"\n",{"type":18,"tag":143,"props":752,"children":754},{"class":145,"line":753},6,[755,759,763,768],{"type":18,"tag":143,"props":756,"children":757},{"style":150},[758],{"type":24,"value":680},{"type":18,"tag":143,"props":760,"children":761},{"style":156},[762],{"type":24,"value":685},{"type":18,"tag":143,"props":764,"children":765},{"style":156},[766],{"type":24,"value":767}," \u002Fd\u002FDailyFile\u002Fgit-test\u002Ftest01",{"type":18,"tag":143,"props":769,"children":770},{"style":350},[771],{"type":24,"value":772}," (master)\n",{"type":18,"tag":19,"props":774,"children":776},{"id":775},"_3-基础操作指令",[777],{"type":24,"value":778},"3 基础操作指令",{"type":18,"tag":34,"props":780,"children":781},{},[782,784,789],{"type":24,"value":783},"Git工作目录下对于文件的",{"type":18,"tag":77,"props":785,"children":786},{},[787],{"type":24,"value":788},"修改",{"type":24,"value":790},"（增删改）会存在几个状态，这些修改的状态会随着我们执行Git的命令而发生变化。",{"type":18,"tag":34,"props":792,"children":793},{},[794],{"type":18,"tag":51,"props":795,"children":798},{"alt":796,"src":797},"1775717111156","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775717111156.png",[],{"type":18,"tag":34,"props":800,"children":801},{},[802],{"type":24,"value":803},"本教程主要讲解如何使用命令来控制这些状态之间的转换：",{"type":18,"tag":118,"props":805,"children":806},{},[807,837,858],{"type":18,"tag":89,"props":808,"children":809},{},[810,816,818,823,825,830,832],{"type":18,"tag":139,"props":811,"children":813},{"className":812},[],[814],{"type":24,"value":815},"git add",{"type":24,"value":817},"：将",{"type":18,"tag":77,"props":819,"children":820},{},[821],{"type":24,"value":822},"工作区",{"type":24,"value":824},"中",{"type":18,"tag":77,"props":826,"children":827},{},[828],{"type":24,"value":829},"新增\u002F修改",{"type":24,"value":831},"的文件 传入 ",{"type":18,"tag":77,"props":833,"children":834},{},[835],{"type":24,"value":836},"暂存区",{"type":18,"tag":89,"props":838,"children":839},{},[840,846,847,851,853],{"type":18,"tag":139,"props":841,"children":843},{"className":842},[],[844],{"type":24,"value":845},"git commit",{"type":24,"value":817},{"type":18,"tag":77,"props":848,"children":849},{},[850],{"type":24,"value":836},{"type":24,"value":852},"的文件 提交至 ",{"type":18,"tag":77,"props":854,"children":855},{},[856],{"type":24,"value":857},"本地仓库",{"type":18,"tag":89,"props":859,"children":860},{},[861,867],{"type":18,"tag":139,"props":862,"children":864},{"className":863},[],[865],{"type":24,"value":866},"git status",{"type":24,"value":868},"：查看当前的文件状态",{"type":18,"tag":34,"props":870,"children":871},{},[872],{"type":24,"value":873},"如下图实例所示，观察每条git指令执行后文件状态的变化情况：",{"type":18,"tag":34,"props":875,"children":876},{},[877],{"type":18,"tag":51,"props":878,"children":881},{"alt":879,"src":880},"1775718270816","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775718270816.png",[],{"type":18,"tag":34,"props":883,"children":884},{},[885,890],{"type":18,"tag":77,"props":886,"children":887},{},[888],{"type":24,"value":889},"提示",{"type":24,"value":891},"：",{"type":18,"tag":118,"props":893,"children":894},{},[895,914,932],{"type":18,"tag":89,"props":896,"children":897},{},[898,904,906,912],{"type":18,"tag":139,"props":899,"children":901},{"className":900},[],[902],{"type":24,"value":903},"git add .",{"type":24,"value":905},"：常用 ",{"type":18,"tag":139,"props":907,"children":909},{"className":908},[],[910],{"type":24,"value":911},".",{"type":24,"value":913}," 代替所有文件，提升效率",{"type":18,"tag":89,"props":915,"children":916},{},[917,923,924,930],{"type":18,"tag":139,"props":918,"children":920},{"className":919},[],[921],{"type":24,"value":922},"git commit -m \"commit_text\"",{"type":24,"value":891},{"type":18,"tag":139,"props":925,"children":927},{"className":926},[],[928],{"type":24,"value":929},"commit_text",{"type":24,"value":931}," 是文件提交至本地仓库时的注释",{"type":18,"tag":89,"props":933,"children":934},{},[935,941],{"type":18,"tag":139,"props":936,"children":938},{"className":937},[],[939],{"type":24,"value":940},"git log",{"type":24,"value":942},"：查看提交日志",{"type":18,"tag":34,"props":944,"children":945},{},[946],{"type":18,"tag":51,"props":947,"children":950},{"alt":948,"src":949},"1775718899023","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775718899023.png",[],{"type":18,"tag":27,"props":952,"children":954},{"id":953},"_31-查看修改的状态status",[955],{"type":24,"value":956},"3.1 查看修改的状态（status）",{"type":18,"tag":85,"props":958,"children":959},{},[960,970],{"type":18,"tag":89,"props":961,"children":962},{},[963,968],{"type":18,"tag":77,"props":964,"children":965},{},[966],{"type":24,"value":967},"作用",{"type":24,"value":969},"：查看工作区与暂存区的修改状态",{"type":18,"tag":89,"props":971,"children":972},{},[973,978,979],{"type":18,"tag":77,"props":974,"children":975},{},[976],{"type":24,"value":977},"命令形式",{"type":24,"value":891},{"type":18,"tag":132,"props":980,"children":982},{"className":134,"code":981,"language":136,"meta":7,"style":7},"git status\n",[983],{"type":18,"tag":139,"props":984,"children":985},{"__ignoreMap":7},[986],{"type":18,"tag":143,"props":987,"children":988},{"class":145,"line":146},[989,993],{"type":18,"tag":143,"props":990,"children":991},{"style":150},[992],{"type":24,"value":153},{"type":18,"tag":143,"props":994,"children":995},{"style":156},[996],{"type":24,"value":997}," status\n",{"type":18,"tag":27,"props":999,"children":1001},{"id":1000},"_32-添加工作区到暂存区-add",[1002],{"type":24,"value":1003},"3.2 添加工作区到暂存区 (add)",{"type":18,"tag":85,"props":1005,"children":1006},{},[1007,1023],{"type":18,"tag":89,"props":1008,"children":1009},{},[1010,1014,1016,1021],{"type":18,"tag":77,"props":1011,"children":1012},{},[1013],{"type":24,"value":967},{"type":24,"value":1015},"：将工作区中",{"type":18,"tag":77,"props":1017,"children":1018},{},[1019],{"type":24,"value":1020},"一个或多个文件",{"type":24,"value":1022},"的修改提交到暂存区",{"type":18,"tag":89,"props":1024,"children":1025},{},[1026,1030,1031],{"type":18,"tag":77,"props":1027,"children":1028},{},[1029],{"type":24,"value":977},{"type":24,"value":891},{"type":18,"tag":132,"props":1032,"children":1034},{"className":134,"code":1033,"language":136,"meta":7,"style":7},"git add \u003C单个文件名> | \u003C通配符>\n# 将所有修改加入暂存区\ngit add .\n",[1035],{"type":18,"tag":139,"props":1036,"children":1037},{"__ignoreMap":7},[1038,1089,1097],{"type":18,"tag":143,"props":1039,"children":1040},{"class":145,"line":146},[1041,1045,1050,1055,1060,1065,1070,1075,1079,1084],{"type":18,"tag":143,"props":1042,"children":1043},{"style":150},[1044],{"type":24,"value":153},{"type":18,"tag":143,"props":1046,"children":1047},{"style":156},[1048],{"type":24,"value":1049}," add",{"type":18,"tag":143,"props":1051,"children":1052},{"style":344},[1053],{"type":24,"value":1054}," \u003C",{"type":18,"tag":143,"props":1056,"children":1057},{"style":156},[1058],{"type":24,"value":1059},"单个文件",{"type":18,"tag":143,"props":1061,"children":1062},{"style":350},[1063],{"type":24,"value":1064},"名",{"type":18,"tag":143,"props":1066,"children":1067},{"style":344},[1068],{"type":24,"value":1069},">",{"type":18,"tag":143,"props":1071,"children":1072},{"style":344},[1073],{"type":24,"value":1074}," |",{"type":18,"tag":143,"props":1076,"children":1077},{"style":344},[1078],{"type":24,"value":1054},{"type":18,"tag":143,"props":1080,"children":1081},{"style":150},[1082],{"type":24,"value":1083},"通配符",{"type":18,"tag":143,"props":1085,"children":1086},{"style":350},[1087],{"type":24,"value":1088},">\n",{"type":18,"tag":143,"props":1090,"children":1091},{"class":145,"line":178},[1092],{"type":18,"tag":143,"props":1093,"children":1094},{"style":208},[1095],{"type":24,"value":1096},"# 将所有修改加入暂存区\n",{"type":18,"tag":143,"props":1098,"children":1099},{"class":145,"line":204},[1100,1104,1108],{"type":18,"tag":143,"props":1101,"children":1102},{"style":150},[1103],{"type":24,"value":153},{"type":18,"tag":143,"props":1105,"children":1106},{"style":156},[1107],{"type":24,"value":1049},{"type":18,"tag":143,"props":1109,"children":1110},{"style":156},[1111],{"type":24,"value":1112}," .\n",{"type":18,"tag":27,"props":1114,"children":1116},{"id":1115},"_33-提交暂存区到本地仓库-commit",[1117],{"type":24,"value":1118},"3.3 提交暂存区到本地仓库 (commit)",{"type":18,"tag":85,"props":1120,"children":1121},{},[1122,1131],{"type":18,"tag":89,"props":1123,"children":1124},{},[1125,1129],{"type":18,"tag":77,"props":1126,"children":1127},{},[1128],{"type":24,"value":967},{"type":24,"value":1130},"：将暂存区的内容提交到本地仓库的当前分支，形成版本历史",{"type":18,"tag":89,"props":1132,"children":1133},{},[1134,1138,1139],{"type":18,"tag":77,"props":1135,"children":1136},{},[1137],{"type":24,"value":977},{"type":24,"value":891},{"type":18,"tag":132,"props":1140,"children":1142},{"className":134,"code":1141,"language":136,"meta":7,"style":7},"git commit -m '\u003C注释内容>'\n",[1143],{"type":18,"tag":139,"props":1144,"children":1145},{"__ignoreMap":7},[1146],{"type":18,"tag":143,"props":1147,"children":1148},{"class":145,"line":146},[1149,1153,1158,1163],{"type":18,"tag":143,"props":1150,"children":1151},{"style":150},[1152],{"type":24,"value":153},{"type":18,"tag":143,"props":1154,"children":1155},{"style":156},[1156],{"type":24,"value":1157}," commit",{"type":18,"tag":143,"props":1159,"children":1160},{"style":162},[1161],{"type":24,"value":1162}," -m",{"type":18,"tag":143,"props":1164,"children":1165},{"style":156},[1166],{"type":24,"value":1167}," '\u003C注释内容>'\n",{"type":18,"tag":27,"props":1169,"children":1171},{"id":1170},"_34-查看提交日志log",[1172],{"type":24,"value":1173},"3.4 查看提交日志(log)",{"type":18,"tag":70,"props":1175,"children":1176},{},[1177],{"type":18,"tag":34,"props":1178,"children":1179},{},[1180,1182,1188,1190],{"type":24,"value":1181},"说明：在 1.3 中配置的别名 ",{"type":18,"tag":139,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":24,"value":1187},"git-log",{"type":24,"value":1189}," 已包含下方参数，后续可直接使用指令 ",{"type":18,"tag":139,"props":1191,"children":1193},{"className":1192},[],[1194],{"type":24,"value":1187},{"type":18,"tag":85,"props":1196,"children":1197},{},[1198,1207],{"type":18,"tag":89,"props":1199,"children":1200},{},[1201,1205],{"type":18,"tag":77,"props":1202,"children":1203},{},[1204],{"type":24,"value":967},{"type":24,"value":1206},"：查看版本提交记录（历史版本）",{"type":18,"tag":89,"props":1208,"children":1209},{},[1210,1214,1215],{"type":18,"tag":77,"props":1211,"children":1212},{},[1213],{"type":24,"value":977},{"type":24,"value":891},{"type":18,"tag":132,"props":1216,"children":1218},{"className":134,"code":1217,"language":136,"meta":7,"style":7},"git log [option]\n",[1219],{"type":18,"tag":139,"props":1220,"children":1221},{"__ignoreMap":7},[1222],{"type":18,"tag":143,"props":1223,"children":1224},{"class":145,"line":146},[1225,1229,1234],{"type":18,"tag":143,"props":1226,"children":1227},{"style":150},[1228],{"type":24,"value":153},{"type":18,"tag":143,"props":1230,"children":1231},{"style":156},[1232],{"type":24,"value":1233}," log",{"type":18,"tag":143,"props":1235,"children":1236},{"style":350},[1237],{"type":24,"value":1238}," [option]\n",{"type":18,"tag":34,"props":1240,"children":1241},{},[1242],{"type":18,"tag":77,"props":1243,"children":1244},{},[1245],{"type":24,"value":1246},"常用可选参数（options）",{"type":18,"tag":85,"props":1248,"children":1249},{},[1250,1261,1272,1291],{"type":18,"tag":89,"props":1251,"children":1252},{},[1253,1259],{"type":18,"tag":139,"props":1254,"children":1256},{"className":1255},[],[1257],{"type":24,"value":1258},"--all",{"type":24,"value":1260},"：显示所有分支的提交日志",{"type":18,"tag":89,"props":1262,"children":1263},{},[1264,1270],{"type":18,"tag":139,"props":1265,"children":1267},{"className":1266},[],[1268],{"type":24,"value":1269},"--pretty=oneline",{"type":24,"value":1271},"：将提交信息显示为一行（简化输出）",{"type":18,"tag":89,"props":1273,"children":1274},{},[1275,1281,1283,1289],{"type":18,"tag":139,"props":1276,"children":1278},{"className":1277},[],[1279],{"type":24,"value":1280},"--abbrev-commit",{"type":24,"value":1282},"：使得输出的 ",{"type":18,"tag":139,"props":1284,"children":1286},{"className":1285},[],[1287],{"type":24,"value":1288},"commitId",{"type":24,"value":1290},"（版本号）更简短",{"type":18,"tag":89,"props":1292,"children":1293},{},[1294,1300],{"type":18,"tag":139,"props":1295,"children":1297},{"className":1296},[],[1298],{"type":24,"value":1299},"--graph",{"type":24,"value":1301},"：以图的形式（分支结构图）显示日志",{"type":18,"tag":27,"props":1303,"children":1305},{"id":1304},"_35-版本回退",[1306],{"type":24,"value":1307},"3.5 版本回退",{"type":18,"tag":85,"props":1309,"children":1310},{},[1311,1320],{"type":18,"tag":89,"props":1312,"children":1313},{},[1314,1318],{"type":18,"tag":77,"props":1315,"children":1316},{},[1317],{"type":24,"value":967},{"type":24,"value":1319},"：版本切换（回退到历史指定版本）",{"type":18,"tag":89,"props":1321,"children":1322},{},[1323,1327,1329],{"type":18,"tag":77,"props":1324,"children":1325},{},[1326],{"type":24,"value":977},{"type":24,"value":1328},"：\n",{"type":18,"tag":132,"props":1330,"children":1332},{"className":134,"code":1331,"language":136,"meta":7,"style":7},"git reset --hard commitID\n",[1333],{"type":18,"tag":139,"props":1334,"children":1335},{"__ignoreMap":7},[1336],{"type":18,"tag":143,"props":1337,"children":1338},{"class":145,"line":146},[1339,1343,1348,1353],{"type":18,"tag":143,"props":1340,"children":1341},{"style":150},[1342],{"type":24,"value":153},{"type":18,"tag":143,"props":1344,"children":1345},{"style":156},[1346],{"type":24,"value":1347}," reset",{"type":18,"tag":143,"props":1349,"children":1350},{"style":162},[1351],{"type":24,"value":1352}," --hard",{"type":18,"tag":143,"props":1354,"children":1355},{"style":156},[1356],{"type":24,"value":1357}," commitID\n",{"type":18,"tag":85,"props":1359,"children":1360},{},[1361,1386,1423],{"type":18,"tag":89,"props":1362,"children":1363},{},[1364,1370,1372,1377,1379,1384],{"type":18,"tag":139,"props":1365,"children":1367},{"className":1366},[],[1368],{"type":24,"value":1369},"commitID",{"type":24,"value":1371}," 可通过 ",{"type":18,"tag":139,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":24,"value":1187},{"type":24,"value":1378}," 或 ",{"type":18,"tag":139,"props":1380,"children":1382},{"className":1381},[],[1383],{"type":24,"value":940},{"type":24,"value":1385}," 指令查看",{"type":18,"tag":89,"props":1387,"children":1388},{},[1389,1394,1396],{"type":18,"tag":77,"props":1390,"children":1391},{},[1392],{"type":24,"value":1393},"问题",{"type":24,"value":1395},"：如何查看已经删除的提交记录？",{"type":18,"tag":132,"props":1397,"children":1399},{"className":134,"code":1398,"language":136,"meta":7,"style":7},"# 解决方案\ngit reflog\n",[1400],{"type":18,"tag":139,"props":1401,"children":1402},{"__ignoreMap":7},[1403,1411],{"type":18,"tag":143,"props":1404,"children":1405},{"class":145,"line":146},[1406],{"type":18,"tag":143,"props":1407,"children":1408},{"style":208},[1409],{"type":24,"value":1410},"# 解决方案\n",{"type":18,"tag":143,"props":1412,"children":1413},{"class":145,"line":178},[1414,1418],{"type":18,"tag":143,"props":1415,"children":1416},{"style":150},[1417],{"type":24,"value":153},{"type":18,"tag":143,"props":1419,"children":1420},{"style":156},[1421],{"type":24,"value":1422}," reflog\n",{"type":18,"tag":89,"props":1424,"children":1425},{},[1426,1428],{"type":24,"value":1427},"该指令可以",{"type":18,"tag":77,"props":1429,"children":1430},{},[1431],{"type":24,"value":1432},"查看所有操作记录，包括已被删除的提交记录",{"type":18,"tag":27,"props":1434,"children":1436},{"id":1435},"_36-添加文件至忽略列表",[1437],{"type":24,"value":1438},"3.6 添加文件至忽略列表",{"type":18,"tag":34,"props":1440,"children":1441},{},[1442,1444,1450],{"type":24,"value":1443},"一般我们总会有些文件无需纳入Git的管理，也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件，比如日志文件，或者编译过程中创建的临时文件等。在这种情况下，我们可以在工作目录中创建一个名为 ",{"type":18,"tag":139,"props":1445,"children":1447},{"className":1446},[],[1448],{"type":24,"value":1449},".gitignore",{"type":24,"value":1451}," 的文件（文件名称固定），列出要忽略的文件模式。",{"type":18,"tag":34,"props":1453,"children":1454},{},[1455,1460],{"type":18,"tag":139,"props":1456,"children":1458},{"className":1457},[],[1459],{"type":24,"value":1449},{"type":24,"value":1461}," 示例",{"type":18,"tag":132,"props":1463,"children":1467},{"className":1464,"code":1465,"language":1466,"meta":7,"style":7},"language-gitignore shiki shiki-themes github-dark","# no .a files\n*.a\n\n# but do track lib.a, even though you're ignoring .a files above\n!lib.a\n\n# only ignore the TODO file in the current directory, not subdir\u002FTODO\n\u002FTODO\n\n# ignore all files in the build\u002F directory\nbuild\u002F\n\n# ignore doc\u002Fnotes.txt, but not doc\u002Fserver\u002Farch.txt\ndoc\u002F*.txt\n\n# ignore all .pdf files in the doc\u002F directory\ndoc\u002F**\u002F*.pdf\n","gitignore",[1468],{"type":18,"tag":139,"props":1469,"children":1470},{"__ignoreMap":7},[1471,1479,1487,1494,1502,1510,1517,1526,1535,1543,1552,1561,1569,1578,1587,1595,1604],{"type":18,"tag":143,"props":1472,"children":1473},{"class":145,"line":146},[1474],{"type":18,"tag":143,"props":1475,"children":1476},{},[1477],{"type":24,"value":1478},"# no .a files\n",{"type":18,"tag":143,"props":1480,"children":1481},{"class":145,"line":178},[1482],{"type":18,"tag":143,"props":1483,"children":1484},{},[1485],{"type":24,"value":1486},"*.a\n",{"type":18,"tag":143,"props":1488,"children":1489},{"class":145,"line":204},[1490],{"type":18,"tag":143,"props":1491,"children":1492},{"emptyLinePlaceholder":747},[1493],{"type":24,"value":750},{"type":18,"tag":143,"props":1495,"children":1496},{"class":145,"line":214},[1497],{"type":18,"tag":143,"props":1498,"children":1499},{},[1500],{"type":24,"value":1501},"# but do track lib.a, even though you're ignoring .a files above\n",{"type":18,"tag":143,"props":1503,"children":1504},{"class":145,"line":235},[1505],{"type":18,"tag":143,"props":1506,"children":1507},{},[1508],{"type":24,"value":1509},"!lib.a\n",{"type":18,"tag":143,"props":1511,"children":1512},{"class":145,"line":753},[1513],{"type":18,"tag":143,"props":1514,"children":1515},{"emptyLinePlaceholder":747},[1516],{"type":24,"value":750},{"type":18,"tag":143,"props":1518,"children":1520},{"class":145,"line":1519},7,[1521],{"type":18,"tag":143,"props":1522,"children":1523},{},[1524],{"type":24,"value":1525},"# only ignore the TODO file in the current directory, not subdir\u002FTODO\n",{"type":18,"tag":143,"props":1527,"children":1529},{"class":145,"line":1528},8,[1530],{"type":18,"tag":143,"props":1531,"children":1532},{},[1533],{"type":24,"value":1534},"\u002FTODO\n",{"type":18,"tag":143,"props":1536,"children":1538},{"class":145,"line":1537},9,[1539],{"type":18,"tag":143,"props":1540,"children":1541},{"emptyLinePlaceholder":747},[1542],{"type":24,"value":750},{"type":18,"tag":143,"props":1544,"children":1546},{"class":145,"line":1545},10,[1547],{"type":18,"tag":143,"props":1548,"children":1549},{},[1550],{"type":24,"value":1551},"# ignore all files in the build\u002F directory\n",{"type":18,"tag":143,"props":1553,"children":1555},{"class":145,"line":1554},11,[1556],{"type":18,"tag":143,"props":1557,"children":1558},{},[1559],{"type":24,"value":1560},"build\u002F\n",{"type":18,"tag":143,"props":1562,"children":1564},{"class":145,"line":1563},12,[1565],{"type":18,"tag":143,"props":1566,"children":1567},{"emptyLinePlaceholder":747},[1568],{"type":24,"value":750},{"type":18,"tag":143,"props":1570,"children":1572},{"class":145,"line":1571},13,[1573],{"type":18,"tag":143,"props":1574,"children":1575},{},[1576],{"type":24,"value":1577},"# ignore doc\u002Fnotes.txt, but not doc\u002Fserver\u002Farch.txt\n",{"type":18,"tag":143,"props":1579,"children":1581},{"class":145,"line":1580},14,[1582],{"type":18,"tag":143,"props":1583,"children":1584},{},[1585],{"type":24,"value":1586},"doc\u002F*.txt\n",{"type":18,"tag":143,"props":1588,"children":1590},{"class":145,"line":1589},15,[1591],{"type":18,"tag":143,"props":1592,"children":1593},{"emptyLinePlaceholder":747},[1594],{"type":24,"value":750},{"type":18,"tag":143,"props":1596,"children":1598},{"class":145,"line":1597},16,[1599],{"type":18,"tag":143,"props":1600,"children":1601},{},[1602],{"type":24,"value":1603},"# ignore all .pdf files in the doc\u002F directory\n",{"type":18,"tag":143,"props":1605,"children":1607},{"class":145,"line":1606},17,[1608],{"type":18,"tag":143,"props":1609,"children":1610},{},[1611],{"type":24,"value":1612},"doc\u002F**\u002F*.pdf\n",{"type":18,"tag":19,"props":1614,"children":1616},{"id":1615},"_4-分支",[1617],{"type":24,"value":1618},"4 分支",{"type":18,"tag":34,"props":1620,"children":1621},{},[1622],{"type":24,"value":1623},"几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能，以免影响开发主线。",{"type":18,"tag":27,"props":1625,"children":1627},{"id":1626},"_41-查看本地分支",[1628],{"type":24,"value":1629},"4.1 查看本地分支",{"type":18,"tag":85,"props":1631,"children":1632},{},[1633],{"type":18,"tag":89,"props":1634,"children":1635},{},[1636,1641,1642],{"type":18,"tag":77,"props":1637,"children":1638},{},[1639],{"type":24,"value":1640},"命令",{"type":24,"value":1328},{"type":18,"tag":132,"props":1643,"children":1645},{"className":134,"code":1644,"language":136,"meta":7,"style":7},"git branch\n",[1646],{"type":18,"tag":139,"props":1647,"children":1648},{"__ignoreMap":7},[1649],{"type":18,"tag":143,"props":1650,"children":1651},{"class":145,"line":146},[1652,1656],{"type":18,"tag":143,"props":1653,"children":1654},{"style":150},[1655],{"type":24,"value":153},{"type":18,"tag":143,"props":1657,"children":1658},{"style":156},[1659],{"type":24,"value":1660}," branch\n",{"type":18,"tag":27,"props":1662,"children":1664},{"id":1663},"_42-创建本地分支",[1665],{"type":24,"value":1666},"4.2 创建本地分支",{"type":18,"tag":85,"props":1668,"children":1669},{},[1670],{"type":18,"tag":89,"props":1671,"children":1672},{},[1673,1675],{"type":24,"value":1674},"命令：",{"type":18,"tag":132,"props":1676,"children":1678},{"className":134,"code":1677,"language":136,"meta":7,"style":7},"git branch \u003C分支名>\n",[1679],{"type":18,"tag":139,"props":1680,"children":1681},{"__ignoreMap":7},[1682],{"type":18,"tag":143,"props":1683,"children":1684},{"class":145,"line":146},[1685,1689,1694,1698,1703,1707],{"type":18,"tag":143,"props":1686,"children":1687},{"style":150},[1688],{"type":24,"value":153},{"type":18,"tag":143,"props":1690,"children":1691},{"style":156},[1692],{"type":24,"value":1693}," branch",{"type":18,"tag":143,"props":1695,"children":1696},{"style":344},[1697],{"type":24,"value":1054},{"type":18,"tag":143,"props":1699,"children":1700},{"style":156},[1701],{"type":24,"value":1702},"分支",{"type":18,"tag":143,"props":1704,"children":1705},{"style":350},[1706],{"type":24,"value":1064},{"type":18,"tag":143,"props":1708,"children":1709},{"style":344},[1710],{"type":24,"value":1088},{"type":18,"tag":27,"props":1712,"children":1714},{"id":1713},"_43-切换分支-checkout",[1715],{"type":24,"value":1716},"4.3 切换分支 (checkout)",{"type":18,"tag":85,"props":1718,"children":1719},{},[1720,1759],{"type":18,"tag":89,"props":1721,"children":1722},{},[1723,1724],{"type":24,"value":1674},{"type":18,"tag":132,"props":1725,"children":1727},{"className":134,"code":1726,"language":136,"meta":7,"style":7},"git checkout \u003C分支名>\n",[1728],{"type":18,"tag":139,"props":1729,"children":1730},{"__ignoreMap":7},[1731],{"type":18,"tag":143,"props":1732,"children":1733},{"class":145,"line":146},[1734,1738,1743,1747,1751,1755],{"type":18,"tag":143,"props":1735,"children":1736},{"style":150},[1737],{"type":24,"value":153},{"type":18,"tag":143,"props":1739,"children":1740},{"style":156},[1741],{"type":24,"value":1742}," checkout",{"type":18,"tag":143,"props":1744,"children":1745},{"style":344},[1746],{"type":24,"value":1054},{"type":18,"tag":143,"props":1748,"children":1749},{"style":156},[1750],{"type":24,"value":1702},{"type":18,"tag":143,"props":1752,"children":1753},{"style":350},[1754],{"type":24,"value":1064},{"type":18,"tag":143,"props":1756,"children":1757},{"style":344},[1758],{"type":24,"value":1088},{"type":18,"tag":89,"props":1760,"children":1761},{},[1762,1764],{"type":24,"value":1763},"创建并切换到新分支（一步完成）：",{"type":18,"tag":132,"props":1765,"children":1767},{"className":134,"code":1766,"language":136,"meta":7,"style":7},"git checkout -b \u003C分支名>\n",[1768],{"type":18,"tag":139,"props":1769,"children":1770},{"__ignoreMap":7},[1771],{"type":18,"tag":143,"props":1772,"children":1773},{"class":145,"line":146},[1774,1778,1782,1787,1791,1795,1799],{"type":18,"tag":143,"props":1775,"children":1776},{"style":150},[1777],{"type":24,"value":153},{"type":18,"tag":143,"props":1779,"children":1780},{"style":156},[1781],{"type":24,"value":1742},{"type":18,"tag":143,"props":1783,"children":1784},{"style":162},[1785],{"type":24,"value":1786}," -b",{"type":18,"tag":143,"props":1788,"children":1789},{"style":344},[1790],{"type":24,"value":1054},{"type":18,"tag":143,"props":1792,"children":1793},{"style":156},[1794],{"type":24,"value":1702},{"type":18,"tag":143,"props":1796,"children":1797},{"style":350},[1798],{"type":24,"value":1064},{"type":18,"tag":143,"props":1800,"children":1801},{"style":344},[1802],{"type":24,"value":1088},{"type":18,"tag":27,"props":1804,"children":1806},{"id":1805},"_44-合并分支-merge",[1807],{"type":24,"value":1808},"4.4 合并分支 (merge)",{"type":18,"tag":85,"props":1810,"children":1811},{},[1812,1821],{"type":18,"tag":89,"props":1813,"children":1814},{},[1815,1819],{"type":18,"tag":77,"props":1816,"children":1817},{},[1818],{"type":24,"value":967},{"type":24,"value":1820},"：将一个分支上的提交合并到当前分支",{"type":18,"tag":89,"props":1822,"children":1823},{},[1824,1825],{"type":24,"value":1674},{"type":18,"tag":132,"props":1826,"children":1828},{"className":134,"code":1827,"language":136,"meta":7,"style":7},"git merge \u003C分支名称>\n",[1829],{"type":18,"tag":139,"props":1830,"children":1831},{"__ignoreMap":7},[1832],{"type":18,"tag":143,"props":1833,"children":1834},{"class":145,"line":146},[1835,1839,1844,1848,1853,1858],{"type":18,"tag":143,"props":1836,"children":1837},{"style":150},[1838],{"type":24,"value":153},{"type":18,"tag":143,"props":1840,"children":1841},{"style":156},[1842],{"type":24,"value":1843}," merge",{"type":18,"tag":143,"props":1845,"children":1846},{"style":344},[1847],{"type":24,"value":1054},{"type":18,"tag":143,"props":1849,"children":1850},{"style":156},[1851],{"type":24,"value":1852},"分支名",{"type":18,"tag":143,"props":1854,"children":1855},{"style":350},[1856],{"type":24,"value":1857},"称",{"type":18,"tag":143,"props":1859,"children":1860},{"style":344},[1861],{"type":24,"value":1088},{"type":18,"tag":27,"props":1863,"children":1865},{"id":1864},"_45-删除分支",[1866],{"type":24,"value":1867},"4.5 删除分支",{"type":18,"tag":85,"props":1869,"children":1870},{},[1871,1904],{"type":18,"tag":89,"props":1872,"children":1873},{},[1874,1879],{"type":18,"tag":77,"props":1875,"children":1876},{},[1877],{"type":24,"value":1878},"不能删除当前分支，只能删除其他分支",{"type":18,"tag":85,"props":1880,"children":1881},{},[1882,1893],{"type":18,"tag":89,"props":1883,"children":1884},{},[1885,1891],{"type":18,"tag":139,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":24,"value":1890},"git branch -d \u003C分支名>",{"type":24,"value":1892},"：删除分支时，需要做各种检查",{"type":18,"tag":89,"props":1894,"children":1895},{},[1896,1902],{"type":18,"tag":139,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":24,"value":1901},"git branch -D \u003C分支名>",{"type":24,"value":1903},"：不做任何检查，强制删除（适用场景：当某分支已修改代码但未merge时）",{"type":18,"tag":89,"props":1905,"children":1906},{},[1907,1909,1915,1917,1923,1924],{"type":24,"value":1908},"使用 ",{"type":18,"tag":139,"props":1910,"children":1912},{"className":1911},[],[1913],{"type":24,"value":1914},"-d",{"type":24,"value":1916}," 删除时可能遇到的报错信息，此时就可以改用 ",{"type":18,"tag":139,"props":1918,"children":1920},{"className":1919},[],[1921],{"type":24,"value":1922},"-D",{"type":24,"value":891},{"type":18,"tag":132,"props":1925,"children":1929},{"className":1926,"code":1927,"language":1928,"meta":7,"style":7},"language-txt shiki shiki-themes github-dark","error: the branch 'dev02' is not fully merged\n","txt",[1930],{"type":18,"tag":139,"props":1931,"children":1932},{"__ignoreMap":7},[1933],{"type":18,"tag":143,"props":1934,"children":1935},{"class":145,"line":146},[1936],{"type":18,"tag":143,"props":1937,"children":1938},{},[1939],{"type":24,"value":1927},{"type":18,"tag":27,"props":1941,"children":1943},{"id":1942},"_46-解决冲突",[1944],{"type":24,"value":1945},"4.6 解决冲突",{"type":18,"tag":34,"props":1947,"children":1948},{},[1949],{"type":24,"value":1950},"当两个分支上对文件的修改可能存在冲突，例如同时修改同一文件的同一行，这时等后续合并时需手动解决冲突，示例如下：",{"type":18,"tag":34,"props":1952,"children":1953},{},[1954],{"type":18,"tag":51,"props":1955,"children":1958},{"alt":1956,"src":1957},"1775732583971","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775732583971.png",[],{"type":18,"tag":34,"props":1960,"children":1961},{},[1962,1964,1970,1972,1978],{"type":24,"value":1963},"此时当我尝试合并 ",{"type":18,"tag":139,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":24,"value":1969},"master",{"type":24,"value":1971}," 和 ",{"type":18,"tag":139,"props":1973,"children":1975},{"className":1974},[],[1976],{"type":24,"value":1977},"dev",{"type":24,"value":1979}," 分支时失败，错误信息如下所示：",{"type":18,"tag":132,"props":1981,"children":1983},{"className":134,"code":1982,"language":136,"meta":7,"style":7},"31245@HUAWEINotBook16 MINGW64 \u002Fd\u002FDailyFile\u002Fgit-test\u002Ftest01 (master)\n$ git merge dev\nAuto-merging demo01.txt\nCONFLICT (content): Merge conflict in demo01.txt\nAutomatic merge failed; fix conflicts and then commit the result.\n",[1984],{"type":18,"tag":139,"props":1985,"children":1986},{"__ignoreMap":7},[1987,2006,2026,2039,2052],{"type":18,"tag":143,"props":1988,"children":1989},{"class":145,"line":146},[1990,1994,1998,2002],{"type":18,"tag":143,"props":1991,"children":1992},{"style":150},[1993],{"type":24,"value":680},{"type":18,"tag":143,"props":1995,"children":1996},{"style":156},[1997],{"type":24,"value":685},{"type":18,"tag":143,"props":1999,"children":2000},{"style":156},[2001],{"type":24,"value":767},{"type":18,"tag":143,"props":2003,"children":2004},{"style":350},[2005],{"type":24,"value":772},{"type":18,"tag":143,"props":2007,"children":2008},{"class":145,"line":178},[2009,2013,2017,2021],{"type":18,"tag":143,"props":2010,"children":2011},{"style":150},[2012],{"type":24,"value":698},{"type":18,"tag":143,"props":2014,"children":2015},{"style":156},[2016],{"type":24,"value":703},{"type":18,"tag":143,"props":2018,"children":2019},{"style":156},[2020],{"type":24,"value":1843},{"type":18,"tag":143,"props":2022,"children":2023},{"style":156},[2024],{"type":24,"value":2025}," dev\n",{"type":18,"tag":143,"props":2027,"children":2028},{"class":145,"line":204},[2029,2034],{"type":18,"tag":143,"props":2030,"children":2031},{"style":150},[2032],{"type":24,"value":2033},"Auto-merging",{"type":18,"tag":143,"props":2035,"children":2036},{"style":156},[2037],{"type":24,"value":2038}," demo01.txt\n",{"type":18,"tag":143,"props":2040,"children":2041},{"class":145,"line":214},[2042,2047],{"type":18,"tag":143,"props":2043,"children":2044},{"style":150},[2045],{"type":24,"value":2046},"CONFLICT",{"type":18,"tag":143,"props":2048,"children":2049},{"style":350},[2050],{"type":24,"value":2051}," (content): Merge conflict in demo01.txt\n",{"type":18,"tag":143,"props":2053,"children":2054},{"class":145,"line":235},[2055,2060,2064,2069,2074,2079,2084,2089,2094,2098,2103],{"type":18,"tag":143,"props":2056,"children":2057},{"style":150},[2058],{"type":24,"value":2059},"Automatic",{"type":18,"tag":143,"props":2061,"children":2062},{"style":156},[2063],{"type":24,"value":1843},{"type":18,"tag":143,"props":2065,"children":2066},{"style":156},[2067],{"type":24,"value":2068}," failed",{"type":18,"tag":143,"props":2070,"children":2071},{"style":350},[2072],{"type":24,"value":2073},"; ",{"type":18,"tag":143,"props":2075,"children":2076},{"style":150},[2077],{"type":24,"value":2078},"fix",{"type":18,"tag":143,"props":2080,"children":2081},{"style":156},[2082],{"type":24,"value":2083}," conflicts",{"type":18,"tag":143,"props":2085,"children":2086},{"style":156},[2087],{"type":24,"value":2088}," and",{"type":18,"tag":143,"props":2090,"children":2091},{"style":156},[2092],{"type":24,"value":2093}," then",{"type":18,"tag":143,"props":2095,"children":2096},{"style":156},[2097],{"type":24,"value":1157},{"type":18,"tag":143,"props":2099,"children":2100},{"style":156},[2101],{"type":24,"value":2102}," the",{"type":18,"tag":143,"props":2104,"children":2105},{"style":156},[2106],{"type":24,"value":2107}," result.\n",{"type":18,"tag":34,"props":2109,"children":2110},{},[2111,2113,2119],{"type":24,"value":2112},"此时我的 ",{"type":18,"tag":139,"props":2114,"children":2116},{"className":2115},[],[2117],{"type":24,"value":2118},"demo01.txt",{"type":24,"value":2120}," 文件内容也出现了变化：",{"type":18,"tag":132,"props":2122,"children":2124},{"className":1926,"code":2123,"language":1928,"meta":7,"style":7},"\u003C\u003C\u003C\u003C\u003C\u003C\u003C HEAD\nupdate commit=111\n=======\nupdate commit=11\n>>>>>>> dev\n",[2125],{"type":18,"tag":139,"props":2126,"children":2127},{"__ignoreMap":7},[2128,2136,2144,2152,2160],{"type":18,"tag":143,"props":2129,"children":2130},{"class":145,"line":146},[2131],{"type":18,"tag":143,"props":2132,"children":2133},{},[2134],{"type":24,"value":2135},"\u003C\u003C\u003C\u003C\u003C\u003C\u003C HEAD\n",{"type":18,"tag":143,"props":2137,"children":2138},{"class":145,"line":178},[2139],{"type":18,"tag":143,"props":2140,"children":2141},{},[2142],{"type":24,"value":2143},"update commit=111\n",{"type":18,"tag":143,"props":2145,"children":2146},{"class":145,"line":204},[2147],{"type":18,"tag":143,"props":2148,"children":2149},{},[2150],{"type":24,"value":2151},"=======\n",{"type":18,"tag":143,"props":2153,"children":2154},{"class":145,"line":214},[2155],{"type":18,"tag":143,"props":2156,"children":2157},{},[2158],{"type":24,"value":2159},"update commit=11\n",{"type":18,"tag":143,"props":2161,"children":2162},{"class":145,"line":235},[2163],{"type":18,"tag":143,"props":2164,"children":2165},{},[2166],{"type":24,"value":2167},">>>>>>> dev\n",{"type":18,"tag":34,"props":2169,"children":2170},{},[2171],{"type":24,"value":2172},"解决冲突的步骤：",{"type":18,"tag":118,"props":2174,"children":2175},{},[2176,2202,2212],{"type":18,"tag":89,"props":2177,"children":2178},{},[2179,2181,2186,2188],{"type":24,"value":2180},"手动修改冲突文件 ",{"type":18,"tag":139,"props":2182,"children":2184},{"className":2183},[],[2185],{"type":24,"value":2118},{"type":24,"value":2187}," 的内容，如下：",{"type":18,"tag":132,"props":2189,"children":2191},{"className":1926,"code":2190,"language":1928,"meta":7,"style":7},"Hello World!\n",[2192],{"type":18,"tag":139,"props":2193,"children":2194},{"__ignoreMap":7},[2195],{"type":18,"tag":143,"props":2196,"children":2197},{"class":145,"line":146},[2198],{"type":18,"tag":143,"props":2199,"children":2200},{},[2201],{"type":24,"value":2190},{"type":18,"tag":89,"props":2203,"children":2204},{},[2205,2207],{"type":24,"value":2206},"将解决完的冲突文件加入暂存区：",{"type":18,"tag":139,"props":2208,"children":2210},{"className":2209},[],[2211],{"type":24,"value":903},{"type":18,"tag":89,"props":2213,"children":2214},{},[2215,2217],{"type":24,"value":2216},"提交到本地仓库：",{"type":18,"tag":139,"props":2218,"children":2220},{"className":2219},[],[2221],{"type":24,"value":845},{"type":18,"tag":27,"props":2223,"children":2225},{"id":2224},"_37-开发中分支使用原则与流程",[2226],{"type":24,"value":2227},"3.7 开发中分支使用原则与流程",{"type":18,"tag":34,"props":2229,"children":2230},{},[2231],{"type":24,"value":2232},"在开发中，一般有如下分支使用原则与流程：",{"type":18,"tag":2234,"props":2235,"children":2237},"h5",{"id":2236},"master生产分支",[2238],{"type":24,"value":2239},"master（生产）分支",{"type":18,"tag":85,"props":2241,"children":2242},{},[2243,2253],{"type":18,"tag":89,"props":2244,"children":2245},{},[2246,2251],{"type":18,"tag":77,"props":2247,"children":2248},{},[2249],{"type":24,"value":2250},"定位",{"type":24,"value":2252},"：线上分支，主分支",{"type":18,"tag":89,"props":2254,"children":2255},{},[2256,2261],{"type":18,"tag":77,"props":2257,"children":2258},{},[2259],{"type":24,"value":2260},"用途",{"type":24,"value":2262},"：中小规模项目作为线上运行的应用对应的分支；直接用于部署生产环境。",{"type":18,"tag":2234,"props":2264,"children":2266},{"id":2265},"develop开发分支",[2267],{"type":24,"value":2268},"develop（开发）分支",{"type":18,"tag":85,"props":2270,"children":2271},{},[2272,2288],{"type":18,"tag":89,"props":2273,"children":2274},{},[2275,2279,2281,2286],{"type":18,"tag":77,"props":2276,"children":2277},{},[2278],{"type":24,"value":2250},{"type":24,"value":2280},"：从 ",{"type":18,"tag":139,"props":2282,"children":2284},{"className":2283},[],[2285],{"type":24,"value":1969},{"type":24,"value":2287}," 创建的分支",{"type":18,"tag":89,"props":2289,"children":2290},{},[2291,2295,2297,2302],{"type":18,"tag":77,"props":2292,"children":2293},{},[2294],{"type":24,"value":2260},{"type":24,"value":2296},"：作为开发部门的主要开发分支。如果没有其他并行开发不同期上线要求，都可以在此版本进行开发。阶段开发完成后，需要是合并到 ",{"type":18,"tag":139,"props":2298,"children":2300},{"className":2299},[],[2301],{"type":24,"value":1969},{"type":24,"value":2303}," 分支，准备上线。",{"type":18,"tag":2234,"props":2305,"children":2307},{"id":2306},"featurexxxx-分支",[2308],{"type":24,"value":2309},"feature\u002Fxxxx 分支",{"type":18,"tag":85,"props":2311,"children":2312},{},[2313,2328],{"type":18,"tag":89,"props":2314,"children":2315},{},[2316,2320,2321,2327],{"type":18,"tag":77,"props":2317,"children":2318},{},[2319],{"type":24,"value":2250},{"type":24,"value":2280},{"type":18,"tag":139,"props":2322,"children":2324},{"className":2323},[],[2325],{"type":24,"value":2326},"develop",{"type":24,"value":2287},{"type":18,"tag":89,"props":2329,"children":2330},{},[2331,2335,2337,2342],{"type":18,"tag":77,"props":2332,"children":2333},{},[2334],{"type":24,"value":2260},{"type":24,"value":2336},"：同期并行开发，但不同期上线时创建的分支。分支上的研发任务完成后合并到 ",{"type":18,"tag":139,"props":2338,"children":2340},{"className":2339},[],[2341],{"type":24,"value":2326},{"type":24,"value":2343}," 分支。通常用于开发新功能。",{"type":18,"tag":2234,"props":2345,"children":2347},{"id":2346},"hotfixxxxx-分支",[2348],{"type":24,"value":2349},"hotfix\u002Fxxxx 分支",{"type":18,"tag":85,"props":2351,"children":2352},{},[2353,2368],{"type":18,"tag":89,"props":2354,"children":2355},{},[2356,2360,2361,2366],{"type":18,"tag":77,"props":2357,"children":2358},{},[2359],{"type":24,"value":2250},{"type":24,"value":2280},{"type":18,"tag":139,"props":2362,"children":2364},{"className":2363},[],[2365],{"type":24,"value":1969},{"type":24,"value":2367}," 派生的分支",{"type":18,"tag":89,"props":2369,"children":2370},{},[2371,2375,2377,2382,2384,2390,2391,2396],{"type":18,"tag":77,"props":2372,"children":2373},{},[2374],{"type":24,"value":2260},{"type":24,"value":2376},"：一般作为线上Bug修复使用。修复完成后需要合并到 ",{"type":18,"tag":139,"props":2378,"children":2380},{"className":2379},[],[2381],{"type":24,"value":1969},{"type":24,"value":2383},"、",{"type":18,"tag":139,"props":2385,"children":2387},{"className":2386},[],[2388],{"type":24,"value":2389},"test",{"type":24,"value":2383},{"type":18,"tag":139,"props":2392,"children":2394},{"className":2393},[],[2395],{"type":24,"value":2326},{"type":24,"value":2397}," 分支，确保补丁同时应用到生产和开发环境。",{"type":18,"tag":2234,"props":2399,"children":2401},{"id":2400},"其他辅助分支",[2402],{"type":24,"value":2400},{"type":18,"tag":85,"props":2404,"children":2405},{},[2406,2416],{"type":18,"tag":89,"props":2407,"children":2408},{},[2409,2414],{"type":18,"tag":77,"props":2410,"children":2411},{},[2412],{"type":24,"value":2413},"test 分支",{"type":24,"value":2415},"：用于代码测试",{"type":18,"tag":89,"props":2417,"children":2418},{},[2419,2424],{"type":18,"tag":77,"props":2420,"children":2421},{},[2422],{"type":24,"value":2423},"pre 分支",{"type":24,"value":2425},"：预上线分支，用于模拟生产环境进行最后的验证",{"type":18,"tag":34,"props":2427,"children":2428},{},[2429],{"type":18,"tag":51,"props":2430,"children":2433},{"alt":2431,"src":2432},"1775733811162","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775733811162.png",[],{"type":18,"tag":19,"props":2435,"children":2437},{"id":2436},"_5-git-工作流程图",[2438],{"type":24,"value":2439},"5 Git 工作流程图",{"type":18,"tag":34,"props":2441,"children":2442},{},[2443],{"type":18,"tag":51,"props":2444,"children":2447},{"alt":2445,"src":2446},"1775713164804","\u002Fimages\u002Fblog\u002Fgit-basics\u002F1775713164804.png",[],{"type":18,"tag":34,"props":2449,"children":2450},{},[2451,2456],{"type":18,"tag":77,"props":2452,"children":2453},{},[2454],{"type":24,"value":2455},"命令如下（进阶篇学习）",{"type":24,"value":83},{"type":18,"tag":85,"props":2458,"children":2459},{},[2460,2471,2482,2493,2504,2515,2526],{"type":18,"tag":89,"props":2461,"children":2462},{},[2463,2469],{"type":18,"tag":139,"props":2464,"children":2466},{"className":2465},[],[2467],{"type":24,"value":2468},"clone",{"type":24,"value":2470},"（克隆）: 从远程仓库中克隆代码到本地仓库",{"type":18,"tag":89,"props":2472,"children":2473},{},[2474,2480],{"type":18,"tag":139,"props":2475,"children":2477},{"className":2476},[],[2478],{"type":24,"value":2479},"checkout",{"type":24,"value":2481}," （检出）:从本地仓库中检出一个仓库分支然后进行修订",{"type":18,"tag":89,"props":2483,"children":2484},{},[2485,2491],{"type":18,"tag":139,"props":2486,"children":2488},{"className":2487},[],[2489],{"type":24,"value":2490},"add",{"type":24,"value":2492},"（添加）: 在提交前先将代码提交到暂存区",{"type":18,"tag":89,"props":2494,"children":2495},{},[2496,2502],{"type":18,"tag":139,"props":2497,"children":2499},{"className":2498},[],[2500],{"type":24,"value":2501},"commit",{"type":24,"value":2503},"（提交）: 提交到本地仓库。本地仓库中保存修改的各个历史版本",{"type":18,"tag":89,"props":2505,"children":2506},{},[2507,2513],{"type":18,"tag":139,"props":2508,"children":2510},{"className":2509},[],[2511],{"type":24,"value":2512},"fetch",{"type":24,"value":2514}," (抓取)： 从远程库，抓取到本地仓库，不进行任何的合并动作，一般操作比较少。",{"type":18,"tag":89,"props":2516,"children":2517},{},[2518,2524],{"type":18,"tag":139,"props":2519,"children":2521},{"className":2520},[],[2522],{"type":24,"value":2523},"pull",{"type":24,"value":2525}," (拉取)： 从远程库拉到本地库，自动进行合并(merge)，然后放到到工作区，相当于fetch+merge",{"type":18,"tag":89,"props":2527,"children":2528},{},[2529,2535],{"type":18,"tag":139,"props":2530,"children":2532},{"className":2531},[],[2533],{"type":24,"value":2534},"push",{"type":24,"value":2536},"（推送）: 修改完成后，需要和团队成员共享代码时，将代码推送到远程仓库",{"type":18,"tag":2538,"props":2539,"children":2540},"style",{},[2541],{"type":24,"value":2542},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":178,"depth":178,"links":2544},[2545,2552,2553,2561,2570],{"id":21,"depth":178,"text":25,"children":2546},[2547,2548,2549,2550,2551],{"id":29,"depth":204,"text":32},{"id":113,"depth":204,"text":116},{"id":256,"depth":204,"text":259},{"id":422,"depth":204,"text":425},{"id":539,"depth":204,"text":542},{"id":596,"depth":178,"text":599},{"id":775,"depth":178,"text":778,"children":2554},[2555,2556,2557,2558,2559,2560],{"id":953,"depth":204,"text":956},{"id":1000,"depth":204,"text":1003},{"id":1115,"depth":204,"text":1118},{"id":1170,"depth":204,"text":1173},{"id":1304,"depth":204,"text":1307},{"id":1435,"depth":204,"text":1438},{"id":1615,"depth":178,"text":1618,"children":2562},[2563,2564,2565,2566,2567,2568,2569],{"id":1626,"depth":204,"text":1629},{"id":1663,"depth":204,"text":1666},{"id":1713,"depth":204,"text":1716},{"id":1805,"depth":204,"text":1808},{"id":1864,"depth":204,"text":1867},{"id":1942,"depth":204,"text":1945},{"id":2224,"depth":204,"text":2227},{"id":2436,"depth":178,"text":2439},"markdown","content:blog:2026-04-09-GitBasicChapter.md","content","blog\u002F2026-04-09-GitBasicChapter.md","blog\u002F2026-04-09-GitBasicChapter","md",1780801017579]