1銆乬itbash鑾峰彇鍒嗘敮淇℃伅#鑾峰彇褰撳墠鍒嗘敮鍚峠itrev-parse--abbrev-refHEADgitbranch--show-current#鑾峰彇褰撳墠hashgitrev-parseHEADgitrev-parse--shortHEAD#涓婇潰鐨勭煭浠g爜鏄€氳繃git鍛戒护寰楀埌鐨勫垎鏀俊鎭€傚浣曡幏鍙栭」鐩唬鐮佷腑鐨勫垎鏀俊鎭紵璇风湅涓嬮潰馃憞2銆丣avaScript閫氳繃execa鎻掍欢鑾峰彇椤圭洰鍒嗘敮淇℃伅execa鏈夊涓嬬壒鐐癸細Promise鎺ュ彛鍘绘帀杈撳嚭鐨勬渶鍚庝竴涓崲琛岀锛岃繖鏍峰氨涓嶇敤鎵цstdout.trim()浜嗘敮鎸佽法骞冲彴shebang浜岃繘鍒舵枃浠舵敼杩沇indows鏀寔銆傛洿楂樼殑鏈€澶х紦鍐插尯銆?00mb鑰屼笉鏄?00kb銆傛寜鍚嶇О鎵ц鏈湴瀹夎鐨勪簩杩涘埗鏂囦欢銆傚綋鐖惰繘绋嬬粓姝㈡椂娓呯悊鍒嗗弶杩涚▼銆備粠stdout鍜宻tderr鑾峰彇浜ら敊杈撳嚭锛岀被浼间簬缁堢涓婃墦鍗扮殑杈撳嚭銆傦紙寮傛锛夋枃浠跺拰鍙傛暟鍙互鎸囧畾涓哄崟涓瓧绗︿覆锛岃€屼笉浼氬嚭鐜版潵鑷猻hell鐨勬洿鍏锋弿杩版€х殑閿欒銆傚畨瑁卐xecanpminstallexeca-S鍙渶浣跨敤execa(async()=>{const{stdout}=awaitexeca('echo',['unicorns']);console.log(stdout);//=>'unicorns'})();//stdout琛ㄧず鎵ц鍛戒护鐨勮緭鍑?*{command:'echounicorns',escapedCommand:'echounicorns',exitCode:0,stdout:'"unicorns"',stderr:'',all:undefined,failed:false,timedOut:false,isCanceled:false,killed:false}*/execa涔熷彲浠ユ墽琛岃剼鏈懡浠ゅ苟杈撳嚭缁撴灉锛屾垜浠湅鐪嬩唬鐮佷腑濡備綍鑾峰彇褰撳墠杩愯鐨勫垎鏀煈囧疄闄呴」鐩腑鐨勪唬鐮乫unctiongetGitBranch(){constres=execa.commandSync('gitrev-parse--abbrev-refHEAD');returnres.stdout;}constcurbranch=getGitBranch()console.log('curbranch==',curbranch);//master//涓嬮潰鏄痳es杈撳嚭curbranch==master{command:'gitrev-parse--abbrev-refHEAD',escapedCommand:'gitrev-parse--abbrev-refHEAD',exitCode:0,stdout:'master',#鍛戒护鎵ц缁撴灉杈撳嚭stderr:'',failed:false,timedOut:false,isCanceled:false,killed:false}涓嬮潰璇磋鑴氭湰鑾峰彇鏂瑰紡3.鑴氭湰鑾峰彇鎴戝啓鐨勬槸鑴氭湰缁勫悎commit-msginNuggetsgit杩欑瘒鏂囩珷浣跨敤鑴氭湰鑾峰彇鍒嗘敮淇℃伅銆傚鏋滀綘鏈夊叴瓒o紝浣犲彲浠ョ湅鐪嬨€傚彲浠ユ煡鐪嬮」鐩腑.git/HEAD鏂囦欢鐨勫唴瀹广€侶EAD鎸囧悜鏈€鏂扮増鏈斁鍏ヤ粨搴搑ef:refs/heads/dev_0922缂栧啓鑴氭湰#!/bin/bash#鑾峰彇褰撳墠鍒嗘敮line=$(head-n+1.git/HEAD)branch=${line##*/}echo$branch#dev_0922馃巿馃巿馃巿馃尮鍏虫敞鎴戯紝浣犱細鍙戠幇涓€涓姫鍔涘伐浣滅殑鍓嶇瀹濊棌馃槉锛岃鎴戜滑涓€璧峰涔犳垚闀裤€傪煄夊枩娆㈢殑鏈嬪弸璁板緱鐐硅禐鍏虫敞鏀惰棌锛岀湅瀹屼笉浼氳糠璺煒夆湪娆㈣繋澶у杞彂璇勮浜ゆ祦馃巵锜硅煿馃槉
