อ้างอิง : Haghish, EF (2020) การพัฒนา ดูแลรักษา และโฮสต์ซอฟต์แวร์สถิติ Stata บน GitHub วารสาร Stata, 20(4), 931-951.
github
เป็นโมดูล Stata สำหรับการค้นหาและติดตั้งแพ็คเกจ Stata จาก GitHub รวมถึงแพ็คเกจรุ่นก่อนหน้า เป็นการรวมกันของคำสั่ง Stata หลายคำสั่ง เช่น search
, findit
และ ssc
แต่สร้างขึ้นเพื่อการจัดการแพ็คเกจ Stata ที่โฮสต์บน GitHub แทน นอกจากนี้ แพ็คเกจยังมีคุณสมบัติใหม่สำหรับการควบคุมเวอร์ชันซึ่งผู้ใช้ Stata จะไม่สามารถใช้งานได้ในที่อื่น (ตัวอย่างเช่น แพ็คเกจอนุญาตให้ติดตั้งแพ็คเกจ Stata ที่เก่ากว่าเพื่อสร้างการวิเคราะห์ที่ดำเนินการกับซอฟต์แวร์รุ่นเก่า)
NEWS : แนะนำคำสั่ง gitget
gitget
ช่วยให้การติดตั้งและอัพเดตแพ็คเกจง่ายขึ้น มันมีฐานข้อมูลสำหรับแพ็คเกจ Stata ที่มีอยู่ทั้งหมดบน GitHub ซึ่งช่วยให้คุณติดตั้งแพ็คเกจที่โฮสต์บน GitHub - และเป็นที่รู้จักโดย gitget
เพียงแค่พิมพ์:
gitget packagename
คำสั่ง gitget
อาศัยรายการแพ็คเกจ Stata ทั้งหมดบน GitHub เพื่อระบุ URL ของโปรเจ็กต์ รายการนี้สร้างขึ้นโดยทางโปรแกรมโดยใช้โปรแกรมค้นหาที่ตรวจพบแพ็คเกจ Stata ขั้นแรก ที่เก็บ Stata ทั้งหมดจะถูกระบุและจัดเก็บไว้ใน repolist.dta ถัดไป แพ็คเกจที่ติดตั้งได้จะถูกแยกและจัดเก็บไว้ใน gitget.dta ซึ่งติดตั้งพร้อมกับแพ็คเกจบนเครื่องของคุณด้วย รายการไฟล์เก็บถาวรทั้งหมดยังมีให้ดูตัวอย่างภายในพื้นที่เก็บข้อมูลนี้ด้วย
สารบัญ
gitget
ในช่วงไม่กี่ปีที่ผ่านมา ผู้ใช้ Stata ใช้ GitHub มากขึ้นในการแชร์รหัส Stata และชุดข้อมูล การพัฒนาซอฟต์แวร์เชิงสถิติ และโฮสต์แพ็คเกจ Stata ดังแสดงในรูปด้านล่าง นี่เป็นข่าวดีสำหรับชุมชน Stata และใครก็ตามที่ส่งเสริมความโปร่งใสในการวิจัย! โมดูล github
อำนวยความสะดวกในการค้นหา ติดตั้ง จัดการ และแม้แต่สร้างแพ็คเกจ Stata นอกจากนี้ยังอนุญาตให้ติดตั้งเวอร์ชันการพัฒนาหรืออีกทางหนึ่งคือรีลีสแพ็คเกจที่เสถียร นอกจากนี้ยังอนุญาตให้ระบุการขึ้นต่อกันของแพ็คเกจที่จะติดตั้งโดยอัตโนมัติ ทำให้ GitHub น่าดึงดูดยิ่งขึ้นสำหรับผู้ใช้และนักพัฒนา Stata ที่นี่ ฉันจะแสดงวิธีการติดตั้งและใช้แพ็คเกจ github
อย่างรวดเร็ว
github
คุณสามารถติดตั้งคำสั่ง github
เวอร์ชันล่าสุดได้โดยการรันโค้ดต่อไปนี้:
net install github, from("https://haghish.github.io/github/")
ไวยากรณ์ทั่วไปของแพ็คเกจสามารถสรุปได้ดังนี้:
github [subcommand] [...]
โดยที่ [ คำสั่งย่อย ] สามารถเป็น:
คำสั่งย่อย | คำอธิบาย |
---|---|
search | ค้นหาแพ็คเกจ Stata บน GitHub |
findfile | ค้นหาไฟล์ในแพ็คเกจ Stata ทั้งหมดบน GitHub |
install | ติดตั้งแพ็คเกจจาก GitHub |
list | ให้ข้อมูลเกี่ยวกับแพ็คเกจที่ติดตั้งด้วย github |
query | แสดงรายการ packag รุ่นก่อนหน้าทั้งหมด |
check | ทดสอบว่าพื้นที่เก็บข้อมูลสามารถติดตั้งได้หรือไม่ |
uninstall | ลบแพ็คเกจออกจาก Stata |
update | อัพเดตแพ็คเกจจาก GitHub |
version | ส่งคืนเวอร์ชันของแพ็คเกจที่ติดตั้ง |
และ [ ... ] สามารถเป็นได้ทั้ง ชื่อผู้ใช้/พื้นที่เก็บข้อมูล หรือ ชื่อแพ็คเกจ ตามคำสั่งย่อยที่ระบุ
ในการติดตั้งแพ็คเกจ สิ่งที่คุณต้องมีคือชื่อผู้ใช้ GitHub และชื่อของพื้นที่เก็บข้อมูล การรวมกันของชื่อผู้ใช้และชื่อที่เก็บ - คั่นด้วยเครื่องหมายทับ - ให้ URL ที่จำเป็นไปยังที่เก็บ ตัวอย่างเช่น หากต้องการติดตั้งแพ็คเกจ MarkDoc ซึ่งโฮสต์บน https://github.com/haghish/markdoc ก็เพียงพอที่จะพิมพ์:
github install haghish/markdoc [, stable version("")]
แพ็คเกจ github
มีฐานข้อมูลสำหรับรายการแพ็คเกจ Stata ที่โฮสต์บน GitHub ทั้งหมด ดังนั้น คุณยังสามารถติดตั้งแพ็คเกจได้โดยการระบุชื่อแพ็คเกจ คำสั่ง gitget
ซึ่งเป็น wrapper สำหรับ github install
สามารถติดตั้งหรืออัปเดตแพ็คเกจ Stata จาก GitHub ได้โดยการถามชื่อแพ็คเกจเท่านั้น:
gitget packagename [, stable version("")]
ตัวอย่างเช่น หากคุณต้องการติดตั้งแพ็คเกจ markdoc
การพิมพ์ gitget markdoc
จะเป็นสารที่หนาพอๆ กับการพิมพ์ github install haghish/markdoc
หากคุณต้องการตรวจสอบรายการแพ็คเกจ Stata ที่โฮสต์บน GitHub โปรดดูชุดข้อมูล gitget.dta
ตัวเลือก | คำอธิบาย |
---|---|
stable | ติดตั้งแพ็คเกจเวอร์ชันเสถียรล่าสุด |
version(str) | ติดตั้งเวอร์ชันรีลีสที่ระบุ |
คุณสามารถค้นหาแพ็คเกจ Stata ใน GitHub ได้โดยใช้คำสำคัญหรือคำสำคัญหลายคำ สิ่งนี้คล้ายกับคำสั่ง search
หรือ findit
ของ Stata แต่ใช้สำหรับการค้นหาแพ็คเกจ GitHub เท่านั้น:
github search weaver
การค้นหา GitHub API อย่างมีประสิทธิภาพเป็นสิ่งสำคัญมาก สำหรับสิ่งนี้ แพ็คเกจจะมี GUI การค้นหาที่แสดงไวยากรณ์ที่คุณสามารถใช้เพื่อจำกัดการค้นหาของคุณให้แคบลงหรือขยายเพื่อรวมแหล่งอื่น ๆ คำสั่งค้นหายังวิเคราะห์วันที่วางจำหน่ายสำหรับแพ็คเกจที่โฮสต์บนคำสั่ง net
ซึ่งเป็นคุณสมบัติที่มีประโยชน์มาก หากต้องการเปิด GUI ให้พิมพ์:
db github
ตัวอย่างเช่น หากคุณใช้คำสั่ง github search
เพื่อค้นหาแพ็คเกจ markdoc
คุณจะได้รับผลลัพธ์ต่อไปนี้:
github
มีฐานข้อมูลในตัวที่ติดตามแพ็คเกจที่ติดตั้งบนเครื่องของคุณ และแน่นอนว่ายังบอกเวอร์ชันของแพ็คเกจที่ติดตั้งบนเครื่องให้คุณทราบด้วย เวอร์ชันนี้นำมาจากแท็กการเปิดตัวเฉพาะของแพ็คเกจ ซึ่งระบุโดยนักพัฒนา คุณสามารถ list
แพ็คเกจที่ติดตั้งและรับข้อมูลที่เป็นประโยชน์เกี่ยวกับแพ็คเกจเหล่านั้นได้ คำสั่งนี้ยังแจ้งให้คุณทราบหากมีการอัปเดตสำหรับแพ็คเกจ GitHub ใดๆ ของคุณ ตัวอย่างเช่น ในผลลัพธ์ด้านล่าง เรารู้ว่ามีการอัปเดตสำหรับแพ็คเกจสองรายการของเรา นอกจากนี้เรายังสามารถคลิกลิงก์ (update)
เพื่ออัปเดตแพ็คเกจเป็นรุ่นล่าสุดได้
. github list
ไม่สามารถติดตั้งแพ็คเกจทั้งหมดได้ ที่เก็บ Stata ต้องมีไฟล์ toc และ pkg จึงจะสามารถติดตั้งได้ คุณสามารถตรวจสอบว่าแพ็คเกจสามารถติดตั้งได้หรือไม่โดยใช้คำสั่งย่อย check
github check haghish/markdoc
นี่เป็นจุดสำคัญที่ต้องใส่ใจเนื่องจากคำสั่ง
github search
ที่ใช้ค้นหาแพ็คเกจ Stata บน GitHub มีแนวโน้มที่จะยกเลิกที่เก็บ Stata ที่ไม่สามารถติดตั้งได้ กล่าวอีกนัยหนึ่ง หากที่เก็บของคุณไม่มีไฟล์เหล่านี้ ก็จะไม่ถือเป็นแพ็คเกจ Stata เว้นแต่คุณจะระบุตัวเลือกall
ในการค้นหาของคุณ (ใน GUI การค้นหา ให้ตรวจสอบ รายการแสดงที่เก็บ GitHub ที่ไม่สามารถติดตั้ง ตัวเลือกได้) อย่างไรก็ตาม แพ็คเกจgithub
ยังมี GUI สำหรับสร้างไฟล์เหล่านี้ด้วย เมื่อใช้ GUI ที่มาพร้อมกับgithub
คุณสามารถสร้างไฟล์เหล่านี้สำหรับพื้นที่เก็บข้อมูลของคุณได้อย่างง่ายดาย (ดูด้านล่าง)
หากต้องการติดตั้งแพ็กเกจ ให้ใช้คำสั่ง uninstall
ตามด้วยชื่อแพ็กเกจ ตัวอย่างเช่น:
github uninstall markdoc
GitHub อนุญาตให้เก็บถาวรเวอร์ชันแพ็คเกจได้ไม่จำกัดจำนวน คำสั่ง github
มีตัวเลือกสำหรับระบุเวอร์ชันแพ็คเกจ ทำให้สามารถติดตั้งเวอร์ชันแพ็คเกจก่อนหน้าได้ ตัวอย่างเช่น หากต้องการติดตั้งแพ็คเกจ MarkDoc เวอร์ชันเก่า ให้พูดว่า 3.8.0
คุณสามารถพิมพ์:
github install haghish/markdoc , version("3.8.0")
แต่คุณสามารถดูเวอร์ชั่นแพ็คเกจได้หรือไม่? GitHub มีแท็บ เผยแพร่ ที่แสดงรายการซอฟต์แวร์รุ่นก่อนหน้าทั้งหมด ( ดูตัวอย่าง MarkDoc รุ่นก่อนหน้า ) แต่ข่าวดีก็คือ github
มีคำสั่งย่อยสำหรับแสดงรายการรุ่นก่อนหน้าทั้งหมดในหน้าต่างผลลัพธ์ของ Stata และอนุญาตให้คุณติดตั้งรุ่นใด ๆ ก็ได้ ( รวมถึงการขึ้นต่อกันของแพ็คเกจสำหรับเวอร์ชันนั้น ๆ หากระบุไว้ ) ด้วยการคลิกเมาส์เพียงครั้งเดียวหรือ โดยทางโปรแกรม โดยพิมพ์:
github query username/repository
ตัวอย่างเช่น หากต้องการแสดงรายการรุ่นก่อนหน้าของ MarkDoc ให้พิมพ์:
. github query haghish/markdoc
----------------------------------------
Version Release Date Install
----------------------------------------
3.8.5 2016-10-16 Install
3.8.4 2016-10-13 Install
3.8.3 2016-10-03 Install
3.8.2 2016-10-01 Install
3.8.1 2016-09-29 Install
3.8.0 2016-09-24 Install
3.7.9 2016-09-20 Install
3.7.8 2016-09-19 Install
3.7.7 2016-09-18 Install
3.7.6 2016-09-13 Install
3.7.5 2016-09-08 Install
3.7.4 2016-09-07 Install
3.7.3 2016-09-06 Install
3.7.2 2016-09-05 Install
3.7.0 2016-08-23 Install
3.6.9 2016-08-16 Install
3.6.7 2016-02-27 Install
----------------------------------------
เมื่อเขียนการวิเคราะห์ด้วยซอฟต์แวร์เอกสารแบบไดนามิก เช่น MarkDoc คุณควรรายงานเวอร์ชันของแพ็คเกจที่ใช้ในการวิเคราะห์ของคุณ คุณสามารถรับเวอร์ชันของแพ็คเกจที่ติดตั้งโดยทางโปรแกรมได้โดยใช้คำสั่งย่อย version
ตามด้วย:
. github version markdoc
3.8.0
คำสั่งนี้ไม่มีประโยชน์อื่นใดเนื่องจากคำสั่ง github list
แสดงเวอร์ชันของแพ็คเกจที่ติดตั้งแล้วและยังตรวจสอบว่ามีเวอร์ชันใหม่กว่าหรือไม่...
บางแพ็คเกจต้องอาศัยแพ็คเกจอื่น คำสั่ง github
ช่วยให้คุณสามารถติดตั้งการขึ้นต่อกันของแพ็คเกจโดยมีหรือไม่มีเวอร์ชันเฉพาะก็ได้ โดยทำดังนี้:
dependency.do
และรวมไว้ในที่เก็บgithub
เพื่อติดตั้งการขึ้นต่อกันของแพ็คเกจและระบุเวอร์ชันที่ต้องการด้วยgithub
จะค้นหา dependency.do
หลังจากติดตั้งแพ็คเกจ และหากพบมันใน repository ก็จะสั่งการทันที ตัวอย่างเช่น แพ็คเกจ MarkDoc มีไฟล์ dependency.do
ที่สามารถใช้เป็นตัวอย่างวิธีการสร้างไฟล์การพึ่งพาได้ โดยปกติแล้ว ไฟล์ dependenc.do
จะสามารถเรียกใช้งานได้โดยคำสั่ง github install
เท่านั้น
แพ็คเกจ github
ประกอบด้วยฐานข้อมูลของไฟล์ทั้งหมดที่ติดตั้งภายในแพ็คเกจที่โฮสต์บน GitHub นี่เป็นคุณสมบัติที่สำคัญสำหรับนักพัฒนาในการหลีกเลี่ยงการสร้างไฟล์ด้วยชื่อที่นักพัฒนารายอื่นใช้เนื่องจากแพ็คเกจดังกล่าวไม่สามารถติดตั้งร่วมกันบนระบบเดียวกันได้ (ปัญหายังมีอยู่สำหรับ ชื่อโปรแกรม ) แพ็คเกจ github
ช่วยให้นักพัฒนาสามารถตรวจสอบได้ว่าเคยใช้ชื่อเฉพาะในแพ็คเกจมาก่อนหรือไม่
คำสั่งย่อย findfile
ค้นหา githubfiles.dta
(ติดตั้งมาพร้อมกับแพ็กเกจ) และหากพบ จะชี้ให้เห็นที่เก็บที่มีไฟล์ ตัวอย่างเช่น การค้นหาไฟล์ที่มีคีย์เวิร์ด "dy" จะส่งผลให้:
. github findfile dy
---------------------------------
Searching githubfiles database
---------------------------------
dynpandoc.ado
dynpandoc.sthlp
dynamicPage1.mata
---------------------------------
ไฟล์เหล่านี้ยังมีลิงก์ไปยังที่เก็บข้อมูลด้วย หากคุณคลิกไฟล์เหล่านั้นในหน้าต่างผลลัพธ์
ลองนึกภาพคุณได้สร้างไฟล์ ado-file และไฟล์ช่วยเหลือ Stata คุณจะทำให้ที่เก็บของคุณสามารถติดตั้งได้อย่างไร? คุณต้องสร้างไฟล์ stata.toc และ packagename.pkg ด้วยตนเอง ระบุข้อมูลที่จำเป็น ไฟล์ที่ควรติดตั้ง ฯลฯ แพ็คเกจ github
จะแนะนำ make
GUI ที่สร้างการติดตั้งแพ็คเกจให้กับคุณ โดยใช้รูปแบบที่เข้มงวด คุณสามารถเลือกไฟล์ที่คุณต้องการติดตั้ง ระบุข้อมูลที่จำเป็น และเตรียมไฟล์ toc และ pkg ให้พร้อม จากนั้นทันทีที่คุณคัดลอกไฟล์เหล่านี้ไปยังพื้นที่เก็บข้อมูลของคุณ ก็จะสามารถติดตั้งได้!
เปลี่ยนไดเร็กทอรีการทำงานเป็นพาธของที่เก็บ จากนั้นรัน GUI โดยพิมพ์:
db make
จดข้อมูลที่จำเป็นและเลือกไฟล์ที่ควรติดตั้ง กดตกลงและสนุกได้เลย!
gitget
ชุดข้อมูล gitget
จะถูกดาวน์โหลดพร้อมกับแพ็คเกจ github
ชุดข้อมูลนี้อัปเดตทุกเดือน คลิกที่นี่เพื่อดูรายการแพ็คเกจ gitget
ทั้งหมด
อีเอฟ ฮากิช
ศูนย์ชีวการแพทย์และสารสนเทศทางการแพทย์
มหาวิทยาลัยไฟรบูร์ก ประเทศเยอรมนี
@ฮากิช