当前位置: 首页 > Web前端 > HTML

面试官:大师说GitRebase和GitMerge的区别

时间:2023-03-28 12:33:07 HTML

鏈夋ⅵ鏈夊共璐э紝寰俊鎼滅储銆愬ぇ鍗冧笘鐣屻€戝叧娉ㄨ繖浣嶅ぇ娓呮棭杩樺湪娲楃鐨勬礂纰楁櫤鎱с€傛湰鏂囧凡鏀跺綍鍒癎itHubhttps://github.com/qq449245884/xiaozhi锛岄噷闈㈡湁瀹屾暣鐨勬祴璇曠珯鐐广€佽祫鏂欏拰鎴戠殑涓€绾垮巶鍟嗚璋堢郴鍒楁枃绔犮€備綘濂斤紒澶у濂斤紝鎴戞槸灏忔櫤锛佷娇鐢℅it杩涜鐗堟湰鎺у埗搴旇鏄ぇ澶氭暟宸ョ▼甯堟瘡澶╅兘浼氶亣鍒扮殑宸ヤ綔娴佺▼涔嬩竴锛屼絾鎴戝彧浣跨敤浜唒ush銆乸ull銆乵erge銆乧heckout鎴杔og绛夊皯鏁板嚑涓懡浠ゃ€傛兂娣变竴鐐瑰氨闂垜涓嶇煡閬撲簡馃槀锛岄潰璇曠殑鏃跺€欒闂埌杩欎釜闂锛氣€滀綘鐭ラ亾Git鐨刴erge鍜宺ebase鐨勫尯鍒悧锛熲€濇垜鍚簡涔嬪悗锛岀洿鎺ユ嚨浜嗐€傚鎴戞潵璇达紝rebase鏄竴涓粍缁嘽ommit鐨勫伐鍏凤紝鍏跺疄鍙互鍜宮erge姣旇緝锛焔it-rebase鍏堣涓€涓嬫垜骞虫椂鐢╮ebase鍛戒护骞蹭粈涔堛€傚鏋滄垜娣诲姞涓€涓柊鐨勫崟鍏冩祴璇曠劧鍚巆ommit锛岄偅涔堟棩蹇楀氨浼氬涓€鏉ommit璁板綍锛氫絾鏄垜鏄痗ommit涔嬪悗鎵嶅彂鐜扮殑銆傛垜鍙堝啓浜嗕竴涓祴璇曠敤渚嬶紝鎵€浠ュ姞瀹屼箣鍚庯紝鎴戝張commit浜嗭細杩欎釜鏃跺€欙紝record涓繕浼氭湁涓€涓猚ommit锛屼絾鏄浜庢垜鏉ヨ锛岃繖涓や釜commit鍏跺疄鏄湪鍋氬悓鏍风殑浜嬫儏锛屾墍浠ュ湪鎴憄ush鍒皉emote涔嬪墠锛屾垜鎯虫暣鐞哻ommit锛屽悎骞惰繖涓ゆ潯璁板綍銆傛湁涓ょ鏂规硶鍙互鍚堝苟杩欎袱涓褰曘€傜涓€绉嶆槸鍦ㄦ坊鍔犵涓€涓祴璇曠敤渚嬩箣鍓峳eset锛岀劧鍚庣洿鎺ommit銆傜浜岀鏂瑰紡灏辨槸浣跨敤rebase鏉ュ鐞嗭紒棣栧厛鎴戜滑鐪嬩竴涓嬬洰鍓嶇殑鏃ュ織锛氭垜鐨勭洰鐨勬槸灏?dc67ff鍜?7af945鏁寸悊鎴愪竴涓紝鎵€浠ヨ璋冩暣鐨刢ommit鏄粠init寮€濮嬬殑锛屼篃灏辨槸commitid涓?eb57cb涔嬪悗鐨勬墍鏈塩ommit锛岀敤rebase鍛戒护锛歡itrebase杈撳叆-i7eb57cb鍚庯紝浼氳烦杞埌vim缂栬緫鐢婚潰锛氫細鍦ㄧ敾闈笂鐪嬪埌7eb57cb涔嬪悗鐨勬墍鏈塩ommit锛堢洰鍓嶅彧鏈?dc67ff鍜?7af945锛夛紝鐒跺悗鎶?dc67ff鐨刾ick鏀规垚squash锛岃鏄庢槸涓€鏍风殑涓庝箣鍓嶇殑鎻愪氦涓€鏍疯繘琛屽悎骞躲€傚厛鐐瑰嚮i锛屽紑濮嬬敤vim缂栬緫鍐呭锛氱紪杈戝畬鎴愬悗锛屽彲浠ョ偣鍑籩sc锛岀劧鍚庤緭鍏?wq淇濆瓨銆傚鏋滀綘鍙槸濂藉杩涙潵鐪嬬湅锛屽鏋滀綘涓嶆兂淇濆瓨锛岃緭鍏?q!銆傚畬鎴愪笂杩拌繃绋嬪悗锛屽啀娆℃煡鐪嬫棩蹇楋紝浼氬彂鐜颁袱娆ommit鍙樻垚浜嗕竴娆°€備繚瀛樺悗浼氳烦杞埌commitmessage鐣岄潰锛岃繖閲屽彲浠ヨ緭鍏ュ悎骞跺悗鐨刢ommitmessage锛屼笉杩囨垜涓嶆敼锛岀洿鎺ヤ繚瀛橈細瀹屾垚浠ヤ笂杩囩▼鍚庯紝鍐嶆鏌ョ湅log锛屼細鍙戠幇涓ゆ鎻愪氦閮藉彉浜嗗師鏉ユ槸nicefirst锛屼笂闈㈢殑鎿嶄綔鏄痳ebase鐨勪氦浜掓柟寮忥紝gitrebase鍚庨潰杈撳叆鐨?i鍏跺疄灏辨槸interactive鐨勭缉鍐欍€俫it-merge涓殑merge鍛戒护澶у搴旇閮介潪甯哥啛鎮夛紝鍥犱负鍦ㄥ仛鏂板姛鑳界殑鏃跺€欙紝涓€鑸兘鏄厛鎷夊嚭涓€涓垎鏀紝瀹屾垚鍚庡啀鍚堝苟鍥瀖aster鎴栬€卍evelop绛変富鍒嗘敮銆傛搷浣滆繃绋嬪涓嬶細鍚堝苟鏃舵湁涓ょ鎯呭喌銆傜涓€涓槸蹇繘锛屽皢瑕佸悎骞剁殑鍒嗘敮鐨凥EAD鐨勫紩鐢ㄧЩ鍔ㄥ埌瑕佸悎骞剁殑鍒嗘敮涓殑鏈€鏂版彁浜ゃ€備笂闈㈡搷浣滅殑merge缁撴灉鏄痜ast-forwardForward锛宮aster鐨凥EAD绉诲姩鍒皊tring-library鐨勬渶鏂癱ommit锛岀敾鎴愬浘鏄繖鏍风殑锛氫絾鏄鏋滄墽琛岀殑鏃跺€欐湁鍐茬獊merge锛屽垎鏀殑鍚堝苟琛屼负浼氬拰fast-forward鐣ユ湁涓嶅悓銆傛瘮濡傛垜鍒嗗埆寰€master鍜宻tring-library鐨勫悓涓€涓枃浠舵坊鍔犲唴瀹癸紝閭d箞鍦ㄦ墽琛宮erge鐨勬椂鍊欙紝浼氳姹傛垜鍏堜慨澶嶅啿绐侊細淇瀹屾垚鍚庯紝鎵цcommit瀹屾垚鍚堝苟锛岃€岃繖涓€娆erge鐨勬椂鍊欙紝浼氬啀commit涓€娆★紝灏辨槸鍏充簬鍚堝苟鐨剆tring-library鍒嗘敮鐨勮褰曪細杩欑鎯呭喌浼氱敾鎴愯繖鏍凤細git-rebase鍜実it-merge鐨勫尯鍒湅浜嗕笂闈ebase鍜宮erge鐨勪粙缁嶏紝浣犲彲鑳戒細鎯宠锛氣€滃挦锛熻繖涓や釜涓嶆槸瀹屽叏涓嶅悓鐨勪笢瑗垮悧锛熲€濇槸鐨勶紝涓€寮€濮嬫垜涔熸槸杩欎箞鎯崇殑锛岀洿鍒扮湅浜唃it-rebase鐨勬枃妗o紝鎵嶅彂鐜板師鏉ヤ竴鐩磋瑙c€傚湪git涔︾殑rebase绔犺妭涓紝绗竴娈佃В閲婁簡Git涓湁涓ょ鏂规硶鍙互鐢ㄦ潵鏁村悎涓や釜鍒嗘敮锛岃€岃繖涓ょ灏辨槸涓婇潰鎻愬埌鐨勶紝鍗砿erge鍜宺ebase锛氫粠涓婇潰merge鐨勪緥瀛愬凡缁忕煡閬撲簡merge鍚堝苟鐨勬椂鍊欎細鏈夊揩杩涳紝鏈夊啿绐佺殑鏃跺€欑敤commit璁板綍鍚堝苟鐨勫彉鍖栥€傝€屼笖rebase鏁村悎鏂瑰紡寰堟湁鎰忔€濄€傚彟涓€绉嶅叧浜巖ebase鐨勬弿杩版槸锛屽畠鍙互鈥滄牴鎹彟涓€涓垎鏀殑commit锛岄噸鏀炬煇涓垎鏀殑鎵€鏈塩ommit杩囩▼鈥濓細浠€涔堟剰鎬濓紵棣栧厛鎴戜滑鍥炲埌涓婇潰鐨勪緥瀛愶紝鍦╩aster鍒嗘敮涓婁娇鐢╮eset锛岃master鐗堟湰鍥炲埌鍚堝苟string-library涔嬪墠锛氱幇鍦ㄦ垜浠渶瑕佷娇鐢╮ebase鍛戒护淇敼string-library鐨勬墍鏈塩ommit锛屽彇涓讳汉鐨勬彁浜や綔涓哄熀鏈繍琛屼竴娆°€備娇鐢╮ebase鍚堝苟鐨勭涓€姝ユ槸鍏堝垏鍒拌replaycommit鐨勫垎鏀細gitcheckoutstring-library锛岀劧鍚庤緭鍏itrebase鍛戒护锛岀劧鍚庢寚瀹氬湪鍝釜鍒嗘敮涓妑eplay锛歡itrebasemaster鎵ц缁撴灉:replayonrebase鍦╟ommit鐨勮繃绋嬩腑锛屽拰merge绫讳技锛屽鏋滄湁鍐茬獊锛岃繕鏄渶瑕佽В鍐筹紝浣嗘槸瑙e喅涔嬪悗锛屼笉鏄娇鐢╟ommit鍛戒护鍚堝苟锛岃€屾槸闇€瑕佽緭鍏itrebase--continue锛屼互渚縭ebase鍙互缁х画replay涓嬩竴涓狢ommit锛氬綋replay瀹屾垚鍚庯紝浼氭樉绀哄綋鍓嶆鍦╮eplay鍝釜commit銆傚浜巗tring-library鏉ヨ锛屽氨鏄渶鏂扮殑addstringunittestD锛屾鏃剁殑鍒嗘敮鍏崇郴锛屽鏋滅敾鎴愬浘锛屼細鍙樻垚锛氫笂鍥句腑rebase鍚庯紝浼氶噸鏀緎tring-library涓?7e38fb鐨勪慨鏀瑰熀浜庝富浜虹殑鎵胯銆傞渶瑕佹敞鎰忕殑鏄紝閲嶆斁鐨刢ommitid浼氬拰鍘熸潵鐨勪笉涓€鏍凤紝鐩稿綋浜庡畬鍏ㄩ噸鍐欎簡鍒嗘敮涓殑鎵€鏈塩ommithistory璁板綍銆傚彟澶栵紝鎵цrebase鍚庯紝string-library杩樻病鏈夊悎骞跺洖master鍒嗘敮锛屾墍浠ヨ繕鏄渶瑕佸垏鎹㈠洖master鎵цmerge瀹屾垚鍚堝苟锛氬洜涓哄湪replay鏃跺凡缁忎娇鐢╮ebase澶勭悊commit鍐茬獊锛屾墍浠ョ幇鍦ㄥ悎骞朵細鐩存帴杩涘叆蹇繘鍚堝苟锛屼笉浼氭湁棰濆鐨勫悎骞惰褰曘€備笌git-rebase鍚堝苟鐨勪紭缂虹偣鍚堝苟鏃朵笉浼氫骇鐢熷啑浣欐彁浜ゃ€傚湪鍥炴斁鏈熼棿锛屽彲浠ュ湪鎻愪氦鍗曞厓涓鐞嗗啿绐併€傚悎骞剁殑鏃跺€欎細鎸夌収鍒嗘敮鐨刢ommit杩涜鎺掑垪锛屽彲浠ユ竻妤氱殑鍥為【reviewissue鎴栬€協eature澶勭悊鐨勮繃绋嬨€傚鏋滀娇鐢╩erge锛宮erge鍚庝袱涓垎鏀殑commit浼氭寜鐓ф椂闂撮『搴忕┛鎻掋€傝础鐚紑婧愰」鐩椂锛屽鏋滃湪push涔嬪墠鍋歳ebase锛屼綔鑰呭彲浠ョ洿鎺ョ敤fast-forward鐨勬柟寮忓悎骞讹紝涓嶄細瑙e喅鍐茬獊銆傛渶澶х殑缂虹偣灏辨槸涓婇潰鎻愬埌鐨勯偅涓€備娇鐢╮ebase灏嗕慨鏀规彁浜ょ殑鍘嗗彶璁板綍銆傚鏋滃湪鏈湴缁勭粐commit鎴栬€卋ranch杩樺ソ锛屼絾鏄鏋滀笉灏忓績鎶奲ranch鏀瑰埌杩滅▼锛岀劧鍚庣敤gitpush-f鐨勮瘽锛屽彲鑳戒細琚悓浜嬭鍘岋紝鎴栬€呰鎻愪氦缁欎竴涓函鍖楀伐绋嬪笀馃槀銆傛垜搴旇浣跨敤git-rebase杩樻槸git-merge锛熸煡浜嗕竴浜涜祫鏂欙紝鍙戠幇rebase鍜宮erge閮芥湁鑷繁鐨勬敮鎸佽€呫€傛垜浼氬厛闃愯堪浠栦滑鐨勬兂娉曪紝鐒跺悗涓昏鍦版彁鍑鸿嚜宸辩殑鐪嬫硶銆傛敮鎸乬it-merge娲剧殑git-merge娲惧伐绋嬪笀璁や负锛岀増鏈褰曠殑浠峰€煎湪浜庨」鐩殑commit锛屼篃灏辨槸椤圭洰鈥滃巻鍙蹭笂瀹為檯鍙戠敓浜嗕粈涔堚€濄€傚鏋滀綘淇敼浜嗚繖浜涘巻鍙茶褰曪紝閭e氨鍧忎簡銆傛墍浠ュ嵆浣垮悎骞跺悗涓嶅悓鍒嗘敮鐨勫唴瀹归兘娣峰湪涓€璧蜂簡锛屼絾鍐呭浠嶇劧璁茶堪浜嗛」鐩殑鍘嗗彶銆傛敮鎸乬it-rebase娲剧殑git-rebase娲惧伐绋嬪笀瑙夊緱commit鏄湪璇撮」鐩殑鈥滄紨杩涜繃绋嬧€濄€傚彂鐢熶粈涔堟墠鏄渶閲嶈鐨勩€傚嵆浣夸慨鏀逛簡鎻愪氦鐨勫巻鍙诧紝鍙戠敓鐨勪簨鎯呬篃涓嶄細鏀瑰彉銆傛棦鐒跺彲浠ョ敤鏇存竻鏅扮畝娲佺殑璁板綍渚涘悗浜洪槄璇伙紝灏卞簲璇ヨ繖鏍峰仛銆備釜浜轰富瑙傝鐐规垜涓汉杩樻槸浣跨敤git-rebase淇敼commit鏉ヨ鍘嗗彶璁板綍鏇存槗璇伙紝浣嗘槸鍙槸鍦╬ush鍒皉emote涔嬪墠浣跨敤銆傚鏋滄垜浠婂ぉ宸茬粡鎶婅褰曟帹閫佸埌杩滅▼浜嗭紝鎴戜笉绠″畠锛屽嵆浣垮畠澶贡浜嗘垜涔熶細淇敼瀹冧滑銆傛瘯绔熻繙绋嬭褰曟槸澶у鍏变韩鐨勶紝涓嶈兘闅忔剰淇敼锛屼篃鏄鍥㈤槦鍏朵粬鎴愬憳鐨勫皧閲嶃€備唬鐮侀儴缃插悗鍙兘瀛樺湪鐨刡ug锛屾棤娉曞疄鏃惰幏鐭ャ€備簨鍚庝负浜嗚В鍐宠繖浜沚ug锛岃姳璐逛簡澶ч噺鐨勬椂闂村湪鏃ュ織璋冭瘯涓娿€傞『渚挎帹鑽愪竴涓ソ鐢ㄧ殑bug鐩戞帶宸ュ叿Fundebug銆備綔鑰咃細绁濹瓒呬汉>鏉ユ簮锛歮edium鍘熸枃锛歨ttps://medium.com/starbugs/g...浜ゆ祦鏈夋ⅵ鎯筹紝鏈夊共璐э紝寰俊鎼滅储銆愬ぇ鍗冧笘鐣屻€戝叧娉ㄨ繖涓礂纰楃洏鐨勬竻鏅ㄦ櫤鎱?鏈枃宸叉敹褰曞埌GitHubhttps://github.com/qq449245884/xiaozhi锛岄噷闈㈡湁瀹屾暣鐨勬祴璇曠珯鐐广€佽祫鏂欏拰鎴戠殑涓€绾垮巶鍟嗚璋堢郴鍒楁枃绔犮€?/p>