SVN คือระบบควบคุมเวอร์ชันแบบรวมศูนย์ คำสั่ง SVN คำสั่ง Svn

การแนะนำ

ฟังก์ชั่นช่วยเหลือของการโค่นล้ม ( ช่วยด้วย) ให้ข้อมูลสรุปของคำสั่งที่มีอยู่ ข้อมูลรายละเอียดเพิ่มเติมสามารถดูได้จากหนังสือออนไลน์ Subversion ที่ http://svnbook.red-bean.com/en/1.2/index.html บทที่ 3 มีประโยชน์อย่างยิ่ง

ต่อไปนี้เป็นชุดคำสั่งพื้นฐานที่ผู้แก้ไขทุกคนจะใช้บ่อยๆ คำสั่งบางคำสั่งมีสองรูปแบบ คือ แบบยาวและแบบสั้น ทั้งสองรายการอยู่ในคำอธิบาย

ความแตกต่างของ svn. สิ่งนี้มีประโยชน์สำหรับวัตถุประสงค์ที่แตกต่างกันสองประการ ขั้นแรก ผู้ที่ไม่มีการเข้าถึงการเขียนไปยังเซิร์ฟเวอร์ BLFS SVN สามารถใช้เพื่อสร้างแพตช์เพื่อส่งไปยังรายชื่อผู้รับจดหมาย BLFS-Dev ในการดำเนินการนี้ เพียงแก้ไขไฟล์ในแซนด์บ็อกซ์ในเครื่องของคุณแล้วเรียกใช้ svn diff > FILE.patch จากรูทของไดเร็กทอรี BLFS ของคุณ จากนั้นคุณสามารถแนบไฟล์นี้ไปกับข้อความในรายชื่อผู้รับจดหมายของ BLFS-Dev ซึ่งผู้ที่มีสิทธิ์ในการแก้ไขสามารถรับและนำไปใช้กับหนังสือได้ การใช้งานครั้งที่สองคือการค้นหาว่ามีอะไรเปลี่ยนแปลงระหว่างการแก้ไขสองครั้งโดยใช้: svn diff -r การแก้ไข 1: การแก้ไข 2 ชื่อไฟล์ . ตัวอย่างเช่น: svn diff -r 168:169 ดัชนี xml จะแสดงความแตกต่างที่แสดงการเปลี่ยนแปลงระหว่างการแก้ไข 168 และ 169 ของ index.xml

การโค่นล้ม (SVN - ระบบเวอร์ชันพร้อมกัน) - ระบบรวมศูนย์การควบคุมเวอร์ชัน ออกแบบมาเพื่อทดแทน ซีวีเอสมีฟังก์ชันการทำงานเหมือนกัน แต่ไม่มีข้อเสียหลายประการ ดูเพิ่มเติมที่: หนังสือ SVN

การตั้งค่าเซิร์ฟเวอร์ SVN

พื้นที่เก็บข้อมูล SVN ค่อนข้างเรียบง่ายใน ในตัวอย่างนี้, ไดเรกทอรี, /home/svn/ต้องมี: # svnadmin create --fs-type fsfs /home/svn/project1 คุณสามารถเชื่อมต่อกับที่เก็บได้ด้วยวิธีต่อไปนี้:

  • ไฟล์://- การเข้าถึงโดยตรงผ่านระบบไฟล์โดยใช้ เอสวีเอ็นลูกค้า. ต้องตั้งค่าสิทธิ์อย่างถูกต้องบนระบบไฟล์ในเครื่อง
  • svn: //หรือ svn+ssh:// - การเข้าถึงระยะไกลถึง เอสวีเอ็นเซิร์ฟเวอร์ (ตามโปรโตคอลด้วย สสส). ต้องการสิทธิ์ในระบบไฟล์ในเครื่อง พอร์ตเริ่มต้น: 2690/ทีซีพี.
  • http://การเข้าถึงระยะไกลผ่านทาง เว็บดาว์นโดยใช้ อาปาเช่. วิธีการนี้ไม่จำเป็นต้องมีผู้ใช้ภายในเครื่อง
นำเข้าและตรวจสอบโปรเจ็กต์ที่มีอยู่ผ่านระบบไฟล์ในเครื่อง ไม่จำเป็นต้องไปที่ไดเร็กทอรีการทำงาน คุณสามารถระบุพาธแบบเต็ม: # svn import /project1/ file:///home/svn/project1/trunk -m "Initial import" # svn checkout file:// /home/svn/project1

การเข้าถึงระยะไกลผ่านโปรโตคอล SSH

การเข้าถึงระยะไกลผ่านโปรโตคอล สสสไม่ต้องการการตั้งค่าเพิ่มเติม เพียงแค่เปลี่ยน ไฟล์://บน svn+ssh/ชื่อโฮสต์. ตัวอย่างเช่น: # svn checkout svn+ssh://hostname/home/svn/project1 เช่นเดียวกับในกรณีของการเข้าถึงภายในเครื่อง ผู้ใช้จะต้องมีบัญชีเพื่อเข้าถึงผ่านโปรโตคอล สสสไปยังเซิร์ฟเวอร์ และกำหนดค่าสิทธิ์การอ่าน/เขียนอย่างถูกต้อง วิธีนี้อาจเหมาะกับผู้ใช้กลุ่มเล็กๆ โดยผู้ใช้ในกลุ่มเป็นเจ้าของพื้นที่เก็บข้อมูล เช่น # groupadd subversion # groupmod -A user1 subversion # chown -R root:subversion /home/svn # chmod -R 770 /home/svn

การเข้าถึงระยะไกลผ่าน HTTP (apache)

การเข้าถึงระยะไกลผ่านทาง HTTP(HTTPS) ซึ่งเป็นโซลูชันที่เหมาะสมสำหรับกลุ่มผู้ใช้ระยะไกล วิธีนี้ใช้การรับรองความถูกต้องของเว็บเซิร์ฟเวอร์ อาปาเช่(ไม่ใช่บัญชีท้องถิ่น) นี่คือการกำหนดค่าทั่วไป: LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so # สำหรับการควบคุมการเข้าถึงเท่านั้น DAV svn # URL "/svn/foo" จะถูกแมปกับเส้นทางพื้นที่เก็บข้อมูล /home/svn/foo SVNParentPath /home/svn AuthType Basic AuthName "Subversion repository" AuthzSVNAccessFile /etc/apache2/svn.acl AuthUserFile /etc/apache2/ svn- passwd ต้องการเซิร์ฟเวอร์ผู้ใช้ที่ถูกต้อง อาปาเช่ต้องมีสิทธิ์เข้าถึงที่เก็บแบบเต็ม: # chown -R www:www /home/svn สร้างผู้ใช้โดยใช้ htpasswd: # htpasswd -c /etc/svn-passwd ผู้ใช้1 #-คสร้างไฟล์

ตัวอย่างการควบคุมการเข้าถึง svn.acl

# การเข้าถึงการอ่านเริ่มต้น "* =" จะไม่สามารถเข้าถึงได้ตามค่าเริ่มต้น[/] * = r project1-developers = joe, jack, jane # ให้สิทธิ์การเขียนแก่นักพัฒนา@ project1-developers=rw

คำสั่งบางอย่างสำหรับจัดการที่เก็บ SVN

ดูเพิ่มเติมที่บัตรอ้างอิงด่วนการโค่นล้ม Tortoise SVN อินเทอร์เฟซ Windows ที่ดี

นำเข้า

นำเข้าไปยังพื้นที่เก็บข้อมูล โครงการใหม่มีไดเร็กทอรีและไฟล์ต่างๆ คุณสามารถใช้คำสั่งได้ นำเข้า. คำสั่งเดียวกันนี้ยังใช้เพื่อเพิ่มไดเร็กทอรีที่มีเนื้อหาลงในโปรเจ็กต์ที่มีอยู่แล้ว #svn ช่วยนำเข้า #ช่วยเหลือตามคำสั่ง # เพิ่มไดเร็กทอรีใหม่และเนื้อหาในไดเร็กทอรี src ของ project1# svn นำเข้า /project1/newdir http://host.url/svn/project1/trunk/src -m "เพิ่ม newdir"

คำสั่ง SVN ทั่วไป

# svn co http://host.url/svn/project1/trunk #สั่งซื้อสินค้าได้ที่ รุ่นล่าสุด # แท็กและสาขาถูกสร้างขึ้นโดยใช้การคัดลอก# svn mkdir http://host.url/svn/project1/tags/ # สร้างไดเรกทอรีแท็ก# svn copy -m "แท็ก rc1 rel" http://host.url/svn/project1/trunk \ http://host.url/svn/project1/tags/1.0rc1 # สถานะ svn [--verbose] # ตรวจสอบสถานะของไฟล์ในไดเร็กทอรีการทำงาน# svn เพิ่ม src/file.h src/file.cpp # เพิ่มสองไฟล์# svn commit -m "เพิ่มไฟล์คลาสใหม่" #แจ้งเปลี่ยนแปลงทางข้อความ# svn ls http://host.url/svn/project1/tags/ #รายการแท็กทั้งหมด# svn ย้าย foo.c bar.c # ย้าย (เปลี่ยนชื่อ) ไฟล์# svn ลบ some_old_file # ลบไฟล์

บทความชุดนี้เน้นไปที่การแนะนำการใช้งาน เอสวีเอ็นจากมุมมอง ผู้ใช้ปกติ. บทความนี้เขียนขึ้นเพื่อช่วยให้เพื่อนร่วมงานของฉันเรียนรู้และใช้งานได้อย่างรวดเร็ว เอสวีเอ็น. เริ่มจากพื้นฐานกันก่อน

การแนะนำ

การโค่นล้ม ( เอสวีเอ็น) คือระบบควบคุมเวอร์ชันโอเพ่นซอร์สฟรี เอสวีเอ็นช่วยให้คุณจัดการไฟล์และไดเร็กทอรีตลอดจนการเปลี่ยนแปลงที่เกิดขึ้นเมื่อเวลาผ่านไป เอสวีเอ็นมีคุณสมบัติดังต่อไปนี้:

  1. การควบคุมการเปลี่ยนแปลงไดเร็กทอรี เอสวีเอ็นใช้ระบบไฟล์ "เสมือน" ที่มีความสามารถในการกำหนดเวอร์ชันที่สามารถติดตามการเปลี่ยนแปลงเมื่อเวลาผ่านไปในโครงสร้างไดเร็กทอรีทั้งหมด
  2. เรื่องจริงรุ่นต่างๆ เอสวีเอ็นทำให้สามารถเพิ่ม ลบ คัดลอก และเปลี่ยนชื่อทั้งไฟล์และไดเร็กทอรีได้ นอกจากนี้ ไฟล์ที่เพิ่มใหม่แต่ละไฟล์จะเริ่มต้นใหม่ตั้งแต่ต้น โดยรักษาประวัติการเปลี่ยนแปลงของตัวเองไว้
  3. ความมุ่งมั่นของอะตอมของการเปลี่ยนแปลง การเปลี่ยนแปลงแต่ละชุดอาจจบลงที่ที่เก็บทั้งหมด หรือไม่สิ้นสุดที่นั่นเลย เหล่านั้น. เมื่อคอมมิตการเปลี่ยนแปลงโปรเจ็กต์ หากเกิดข้อผิดพลาดระหว่างการประมวลผลไฟล์ การเปลี่ยนแปลงในโปรเจ็กต์ทั้งหมดจะไม่ถูกคอมมิต
  4. ข้อมูลเมตาพร้อมเวอร์ชัน แต่ละไฟล์และไดเร็กทอรีจะมีชุดคุณสมบัติของตัวเอง ซึ่งแสดงด้วยชื่อและค่า คุณสามารถสร้างและบันทึกคู่ชื่อคุณสมบัติและค่าที่จำเป็นได้ คุณสมบัติไฟล์จะมีเวอร์ชันเท่ากับเนื้อหา
  5. วิธีการทำงานกับข้อมูลแบบครบวงจร เอสวีเอ็นตรวจจับความแตกต่างระหว่างไฟล์โดยใช้อัลกอริธึมไบนารีพิเศษที่ทำงานอย่างเท่าเทียมกันกับทั้งไฟล์ข้อความและไบนารี ไฟล์ถูกเขียนลงพื้นที่จัดเก็บในรูปแบบบีบอัดโดยไม่คำนึงถึงประเภท และความแตกต่างระหว่างแต่ละเวอร์ชันสามารถส่งผ่านเครือข่ายได้ทั้งสองทิศทาง
  6. สาขาและแท็กที่มีประสิทธิภาพ เอสวีเอ็นสร้างสาขาและแท็กโดยเพียงแค่คัดลอกโครงการ โดยใช้กลไกที่คล้ายกับฮาร์ดลิงก์ในระบบไฟล์ ด้วยเหตุนี้ การดำเนินการสร้างสาขาและแท็กจึงใช้เวลาเพียงเล็กน้อย


รายการคำศัพท์พื้นฐาน

  1. พื้นที่เก็บข้อมูล(พื้นที่เก็บข้อมูล) เป็นแหล่งรวมซอร์สโค้ด เอกสารการทำงาน และเอกสารประกอบแบบรวมศูนย์ ไคลเอนต์จำนวนเท่าใดก็ได้เชื่อมต่อกับที่เก็บข้อมูลและอ่านหรือเขียนไฟล์เหล่านี้
  2. สำเนาการทำงาน/สำเนาการทำงาน(WC) เป็นแผนผังไดเร็กทอรีปกติบนคอมพิวเตอร์ที่มีชุดไฟล์สำหรับทำงานในโครงการ การเปลี่ยนแปลงในสำเนาการทำงานจะไม่พร้อมใช้งานสำหรับผู้ใช้รายอื่นของที่เก็บจนกว่าจะมีการคอมมิต
  3. กระโปรงหลังรถ– ทิศทางหลักของการพัฒนา
  4. สาขา(“สาขา”) คือทิศทางการพัฒนาที่มีอยู่อย่างเป็นอิสระจากทิศทางอื่น แต่มีประวัติร่วมกันด้วย สาขามักจะเริ่มต้นจากการคัดลอกของบางสิ่งบางอย่างและย้ายจากจุดนั้นเพื่อสร้างประวัติศาสตร์ของตัวเอง
  5. แท็ก(“Label”) คือเวอร์ชันของไฟล์โปรเจ็กต์ที่เลือกไว้อย่างชัดเจน ณ เวลาใดเวลาหนึ่ง ผ่านการสร้างโฟลเดอร์แยกต่างหาก
  6. การแก้ไข— หมายเลขการแก้ไขของที่เก็บ ภายในที่เก็บ หมายเลขการแก้ไขจะเป็นค่าเฉพาะ
  7. เช็คเอาท์- ทีมงานที่ดำเนินการรับโครงการเบื้องต้นจากพื้นที่เก็บข้อมูลใน WC
  8. ให้สัญญา- คำสั่งที่ยอมรับการเปลี่ยนแปลงไฟล์โครงการใน WC ไปยัง Repository
  9. อัปเดต- คำสั่งที่อัพเดตไฟล์โครงการใน WC จากพื้นที่เก็บข้อมูล
  10. เปลี่ยนกลับ- คำสั่งที่เลิกทำการเปลี่ยนแปลงไฟล์โครงการใน WC ตามหมายเลขการแก้ไขที่เก็บ
  11. ผสาน- คำสั่งที่รวมไฟล์จากสาขาต่างๆ ของโปรเจ็กต์ และวางผลลัพธ์การรวมไว้ใน WC
  12. ขัดแย้ง- สถานการณ์ที่เกิดขึ้นเมื่อทำการเปลี่ยนแปลงเมื่อไฟล์เดียวกันถูกเปลี่ยนแปลงโดยนักพัฒนาหลายคน
  13. แก้ไข- ชุดกฎเกณฑ์สำหรับการแก้ไขข้อขัดแย้งที่เกิดขึ้นใหม่
  14. นำเข้า- คำสั่งสำหรับการคัดลอกแผนผังไฟล์ไปยัง Repository อย่างรวดเร็ว
  15. ส่งออก- คำสั่งสำหรับการส่งออกโครงการแตกต่างจากการชำระเงินเนื่องจากไม่ได้สร้างข้อมูลบริการในโฟลเดอร์โครงการ
  16. สวิตช์- คำสั่งที่สลับ WC ไปยังสาขาการพัฒนาอื่น
  17. สร้าง, เพิ่ม, ลบ, สำเนา, เคลื่อนไหว, เปลี่ยนชื่อ- คำสั่งสำหรับจัดการไฟล์และโฟลเดอร์ในพื้นที่เก็บข้อมูลหรือ WC

ซอฟต์แวร์

การทำงานกับพื้นที่เก็บข้อมูล เอสวีเอ็นตรวจสอบตาม ซอฟต์แวร์ เต่าSVN

สารสกัด

Svn ชำระเงิน [-ARG เชิงลึก] [--ละเว้นภายนอก] [-r rev] เส้นทาง URL

หากมีการทำเครื่องหมายในช่อง ข้ามภายนอก

หากคุณกำลังดึงข้อมูลการแก้ไขเฉพาะ ให้ระบุหลัง URL โดยใช้พารามิเตอร์ -r

อัปเดต

ข้อมูล Svn URL_working_copy อัปเดต svn [-r rev] PATH

ขณะนี้การอัปเดตหลายรายการไม่ใช่การดำเนินการแบบอะตอมมิกในการโค่นล้ม ดังนั้น TortoiseSVN จะค้นหาการแก้ไขนำหน้า (HEAD) ในพื้นที่เก็บข้อมูลก่อน จากนั้นจึงอัปเดตรายการทั้งหมดเป็นการแก้ไขนั้น เพื่อหลีกเลี่ยงการสร้างสำเนาการทำงานที่มีการแก้ไขแบบผสม

หากเลือกอัปเดตเพียงรายการเดียว หรือรายการที่เลือกไม่ได้ทั้งหมดมาจากพื้นที่เก็บข้อมูลเดียวกัน TortoiseSVN จะอัปเดตเป็นเวอร์ชันนำหน้าเท่านั้น

ไม่มีการใช้ตัวเลือกบรรทัดคำสั่งที่นี่ อัปเดตเพื่อแก้ไขยังใช้คำสั่ง update แต่มีฟังก์ชันการทำงานเพิ่มเติม

อัปเดตเพื่อแก้ไข

ข้อมูล Svn URL_working_copy อัปเดต svn [-r rev] [-เจาะลึก ARG] [--ละเว้นภายนอก] PATH

รายการกล่องคำสั่งผสมความลึกเกี่ยวข้องกับอาร์กิวเมนต์ -ความลึก

หากมีการทำเครื่องหมายในช่อง ข้ามภายนอกให้ใช้ตัวเลือก --ignore-externals

แก้ไข

ใน TortoiseSVN กล่องโต้ตอบการคอมมิตจะใช้คำสั่ง Subversion หลายคำสั่ง ขั้นตอนแรกคือการตรวจสอบสถานะ ซึ่งจะระบุองค์ประกอบของสำเนาการทำงานของคุณที่อาจมีการคอมมิต คุณสามารถเรียกดูรายการนี้ เปรียบเทียบไฟล์กับไฟล์ฐาน และเลือกรายการที่คุณต้องการรวมไว้ในคอมมิต

สถานะ Svn -v PATH

หากมีการทำเครื่องหมายในช่อง

หากคุณทำเครื่องหมายไฟล์และโฟลเดอร์ที่ยังไม่ได้เวอร์ชัน รายการเหล่านั้นจะถูกเพิ่มลงในสำเนาการทำงานของคุณก่อน

Svn เพิ่ม PATH...

เมื่อคุณคลิกตกลง การโค่นล้มจะเริ่มดำเนินการคอมมิต หากคุณปล่อยให้ช่องทำเครื่องหมายไฟล์ทั้งหมดอยู่ในสถานะเริ่มต้น TortoiseSVN จะใช้สำเนาการทำงานแบบเรียกซ้ำเพียงครั้งเดียว หากคุณได้ยกเลิกการทำเครื่องหมายไฟล์บางไฟล์แล้ว ควรใช้การคอมมิตแบบเรียกซ้ำ (-N) และแต่ละพาธควรระบุแยกกันใน บรรทัดคำสั่งสำหรับการตรึง

Svn กระทำ -m "LogMessage" [-เจาะลึก ARG] [- ไม่ปลดล็อค] เส้นทาง ...

LogMessage ที่นี่แสดงถึงเนื้อหาของช่องป้อนข้อความบันทึก มันอาจจะว่างเปล่า

ความแตกต่าง

Svn เส้นทางที่แตกต่าง

หากคุณใช้คำสั่ง Diff จากเมนูบริบทหลัก คุณจะเปรียบเทียบไฟล์ที่แก้ไขกับการแก้ไขพื้นฐาน เอาต์พุตจาก ICS ของคำสั่งข้างต้นก็ทำเช่นนี้เช่นกัน และสร้างเอาต์พุตในรูปแบบของความแตกต่างที่รวมกัน อย่างไรก็ตาม TortoiseSVN ไม่ได้ใช้สิ่งนี้ TortoiseSVN ใช้ TortoiseMerge (หรือโปรแกรม diff ที่คุณเลือก) เพื่อแสดงความแตกต่างระหว่างไฟล์ข้อความด้วยสายตา ดังนั้นจึงไม่มีความเทียบเท่าโดยตรงกับ SVN

คุณยังสามารถเปรียบเทียบสองไฟล์ใดก็ได้โดยใช้ TortoiseSVN ไม่ว่าจะอยู่ภายใต้การควบคุมเวอร์ชันหรือไม่ก็ตาม TortoiseSVN เพียงป้อนไฟล์ทั้งสองนี้เข้าไปในโปรแกรม diff ที่เลือก และปล่อยให้มันพิจารณาว่าความแตกต่างอยู่ที่ไหน

นิตยสาร

Svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH หรือ svn log -v -r M:N [--stop-on-copy] PATH

ตามค่าเริ่มต้น TortoiseSVN จะพยายามแยกข้อความบันทึก 100 ข้อความโดยใช้วิธี --limit หากการติดตั้งถูกบังคับให้ใช้ API เก่า แบบฟอร์มที่สองจะถูกใช้เพื่อดึงข้อความบันทึกสำหรับการแก้ไข 100 ครั้งจากที่เก็บ

หากมีการทำเครื่องหมายในช่อง หยุดที่การคัดลอก/เปลี่ยนชื่อให้ใช้ตัวเลือก --stop-on-copy

กำลังตรวจสอบการเปลี่ยนแปลง

สถานะ Svn -v PATH หรือสถานะ svn -u -v PATH

การตรวจสอบสถานะเบื้องต้นจะดูเฉพาะสำเนาการทำงานของคุณเท่านั้น หากคุณคลิกที่ ตรวจสอบการจัดเก็บจากนั้นพื้นที่เก็บข้อมูลจะถูกตรวจสอบด้วยเพื่อดูว่าไฟล์ใดบ้างที่จะมีการเปลี่ยนแปลงโดยการอัพเดต และต้องใช้ตัวเลือก -u

หากมีการทำเครื่องหมายในช่อง แสดงไฟล์ที่ยังไม่ได้เวอร์ชันนอกจากนี้ TortoiseSVN จะแสดงไฟล์และโฟลเดอร์ที่ยังไม่ได้เวอร์ชันในลำดับชั้นการคัดลอกที่ทำงาน โดยยึดตามกฎการละเว้น คุณสมบัติเฉพาะนี้ไม่มีการเทียบเท่าโดยตรงในการโค่นล้ม เนื่องจากคำสั่ง svn status ไม่ได้เข้าไปในโฟลเดอร์ที่ไม่ได้เวอร์ชัน

กราฟการแก้ไข

กราฟการแก้ไขเป็นคุณลักษณะที่มีให้โดย TortoiseSVN เท่านั้น ไม่มีสิ่งที่เทียบเท่าในไคลเอนต์บรรทัดคำสั่ง

TortoiseSVN ทำอะไร:

ข้อมูล Svn URL_working_copy บันทึก svn -v URL

URL อยู่ที่ไหน รากที่เก็บข้อมูลแล้วแยกวิเคราะห์ข้อมูลที่ส่งคืน

เครื่องมือสำรวจพื้นที่เก็บข้อมูล

ข้อมูล Svn Working_copy URL รายการ svn [-r rev] -v URL

คุณสามารถใช้ข้อมูล svn เพื่อกำหนดรูทของที่เก็บ: นี่คือระดับบนสุดที่แสดงในเบราว์เซอร์ที่เก็บ คุณไม่สามารถเคลื่อนที่เหนือระดับนี้ได้ นอกจากนี้ คำสั่งนี้ยังส่งคืนข้อมูลการล็อคทั้งหมดที่แสดงใน Storage Explorer

การเรียกรายการ svn จะแสดงรายการเนื้อหาของโฟลเดอร์สำหรับ URL ที่ระบุและการแก้ไข

แก้ไขข้อขัดแย้ง

คำสั่งนี้ไม่เทียบเท่าใน ICS มันเรียกว่า TortoiseMerge หรือ เครื่องมือภายนอก diff/merge สามทางเพื่อดูไฟล์ที่เกี่ยวข้องกับข้อขัดแย้งและเลือกบรรทัดที่ควรใช้

ตัดสินแล้ว

Svn แก้ไข PATH แล้ว

เปลี่ยนชื่อ

Svn เปลี่ยนชื่อ CURRENT_PATH NEW_PATH

ลบ

Svn ลบ PATH

ลบการเปลี่ยนแปลง

สถานะ Svn -v PATH

ขั้นตอนแรกคือการตรวจสอบสถานะ โดยระบุรายการในสำเนาการทำงานของคุณที่อาจนำการเปลี่ยนแปลงออกได้ คุณสามารถดูรายการ เปรียบเทียบไฟล์กับฐานข้อมูล และเลือกองค์ประกอบที่คุณต้องการลบการเปลี่ยนแปลง

เมื่อคุณคลิกตกลง การโค่นล้มจะลบการเปลี่ยนแปลง หากคุณปล่อยให้แฟล็กการเลือกไฟล์ทั้งหมดอยู่ในสถานะเริ่มต้น TortoiseSVN จะใช้การเรียกซ้ำครั้งเดียว (-R) เลิกทำการเปลี่ยนแปลงในสำเนาการทำงาน หากคุณยกเลิกการเลือกไฟล์บางไฟล์ คุณจะต้องระบุแต่ละพาธแยกกันในบรรทัดคำสั่งเพื่อลบการเปลี่ยนแปลง

Svn เปลี่ยนกลับ [-R] PATH...

การทำความสะอาด

เส้นทางการล้างข้อมูล Svn

ปิดกั้น

สถานะ Svn -v PATH

ขั้นตอนแรกคือการตรวจสอบสถานะ ซึ่งจะระบุไฟล์ในสำเนาการทำงานของคุณที่อาจถูกล็อค คุณสามารถเลือกรายการที่คุณต้องการบล็อก

Svn lock -m "LockMessage" [--บังคับ] PATH...

LockMessage คือเนื้อหาของฟิลด์ข้อความล็อค มันอาจจะว่างเปล่า

หากมีการทำเครื่องหมายในช่อง สกัดกั้นล็อคให้ใช้ตัวเลือก --force

เลิกบล็อก

Svn ปลดล็อคเส้นทาง

สาขา/ฉลาก

Svn copy -m "LogMessage" URL URL หรือ svn copy -m "LogMessage" หรือ svn copy -m "LogMessage" PATH URL

กล่องโต้ตอบสาขา/ฉลากดำเนินการคัดลอกไปยังที่จัดเก็บข้อมูล มีปุ่มสลับได้ 3 ปุ่ม:

  • การแก้ไขชั้นนำในพื้นที่เก็บข้อมูล (HEAD)
  • การแก้ไขที่ระบุในที่เก็บ
  • สำเนาการทำงาน

ซึ่งสอดคล้องกับตัวเลือกบรรทัดคำสั่งทั้งสามด้านบน

เพิ่ม – เพิ่มไฟล์ ไดเร็กทอรี และลิงก์สัญลักษณ์ เพื่อทำเครื่องหมายเพื่อรวมไว้ในที่เก็บในภายหลัง เมื่อทำเครื่องหมายแล้ว ระบบจะดาวน์โหลดและเพิ่มลงในที่เก็บในครั้งแรกที่คอมมิตการเปลี่ยนแปลง หากคุณเพิ่มบางสิ่ง แต่เปลี่ยนใจก่อนที่จะปักหมุด คุณสามารถลบเครื่องหมายเพิ่มได้โดยใช้คำสั่งย่อย svn revert
svn เพิ่ม PATH...
$svn เพิ่ม testdir

ตำหนิ (สรรเสริญ คำอธิบายประกอบ แอน) – แสดงผู้เขียนและบรรณาธิการทีละบรรทัดสำหรับไฟล์หรือ URL ที่ระบุ ข้อความแต่ละบรรทัดขึ้นต้นด้วยชื่อผู้เขียน (ชื่อผู้ใช้) และหมายเลขฉบับแก้ไข ซึ่งระบุว่าใครและเมื่อใดที่แก้ไขบรรทัดนี้ครั้งล่าสุด
svn ตำหนิเป้าหมาย[@REV]…
$ svn ตำหนิ http://svn.red-bean.com/repos/test/readme.txt

แมว – พิมพ์เนื้อหาของไฟล์หรือ URL ที่ระบุ หากต้องการแสดงรายการเนื้อหาของไดเร็กทอรี ให้ใช้รายการ svn
svn cat เป้าหมาย[@REV]…
$ svn แมว http://svn.red-bean.com/repos/test/readme.txt

ชำระเงิน (co) – สร้างสำเนาการทำงานตามข้อมูลในพื้นที่เก็บข้อมูล หากละเว้น PATH ชื่อฐานของ URL จะถูกนำมาใช้เป็นชื่อสำหรับไดเร็กทอรีการคัดลอกที่ใช้งานได้ หากมีการระบุ URL หลายรายการ สำเนาที่เกี่ยวข้องจะถูกสร้างขึ้นในไดเรกทอรีย่อย PATH โดยแต่ละรายการจะอยู่ในไดเรกทอรีของตัวเองที่ได้มาจากชื่อฐานของ URL
URL การชำระเงิน svn[@REV]…
ชำระเงิน svn svn://svn.ru2web.ru/ru2web/branches/www-01/ /usr/home/vasia/ru2web.ru/app/

การล้างข้อมูล – ทำความสะอาดสำเนาการทำงานซ้ำ ๆ โดยลบการล็อคที่เหลือจากการดำเนินการที่ยังไม่เสร็จสมบูรณ์ ทันทีที่คุณพบข้อผิดพลาด "สำเนาการทำงานถูกล็อค" ให้รันคำสั่งย่อยนี้เพื่อลบการล็อกเก่า และนำสำเนาการทำงานเข้าสู่สถานะการทำงาน

หากการดำเนินการของคำสั่ง svn update ล้มเหลวด้วยเหตุผลบางประการเนื่องจากปัญหากับโปรแกรม diff ภายนอกที่ทำงานอยู่ (เช่น ฉันคลิกสิ่งผิดปกติหรือเครือข่ายขัดข้อง) คุณต้องตั้งค่าพารามิเตอร์ –diff3-cmd เป็น อนุญาตให้ทำความสะอาดสำเนาเพื่อให้การรวมทั้งหมดเสร็จสมบูรณ์โดยใช้โปรแกรม diff ภายนอก คุณยังสามารถระบุไดเร็กทอรีการกำหนดค่าโดยใช้ตัวเลือก –config-dir ได้ แต่ระวังอย่าใช้ตัวเลือกเหล่านี้มากเกินไป

กระทำ (ci) – ส่งการเปลี่ยนแปลงที่คุณทำกับสำเนาการทำงานไปยังพื้นที่เก็บข้อมูลเพื่อบันทึกไว้ที่นั่น หากคุณไม่ได้ใช้ตัวเลือก –file หรือ –message svn จะเปิดตัวแก้ไขภายนอกเพื่อแสดงความคิดเห็น อ่านคำอธิบายของพารามิเตอร์ editor-cmd ใน "Config"
svn commit จะส่งป้ายกำกับการล็อกที่พบแบบเรียกซ้ำทั้งหมดไปยังพื้นที่จัดเก็บข้อมูล และปลดล็อกทรัพยากรที่สอดคล้องกับป้ายกำกับเหล่านี้ หากไม่ได้ระบุพารามิเตอร์ –no-unlock “พื้นที่ค้นหา” ถูกระบุโดยการระบุ PATH
svn กระทำ

คัดลอก (cp) - คัดลอกไฟล์ลงในสำเนาที่ใช้งานได้หรือไปยังที่เก็บข้อมูล SRC และ DST อาจเป็นพาธภายในสำเนาการทำงานหรือ URL ภายในที่เก็บ
คัดลอก svn SRC DST

ลบ (del, ลบ, rm) – การลบรายการออกจากสำเนาหรือพื้นที่เก็บข้อมูลที่ใช้งานได้
svn ลบ PATH...
svn ลบ URL...

diff (di) – แสดงความแตกต่างระหว่างสำเนาการทำงานและพื้นที่เก็บข้อมูล
$ svn ต่าง http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500

ส่งออก – ส่งออกแผนผังไดเร็กทอรีใหม่ทั้งหมด (โดยไม่มีโฟลเดอร์ .svn)

ช่วยด้วย (?, ชม.) – ช่วยด้วย

นำเข้า - คอมมิตไฟล์หรือแผนผังที่ยังไม่ได้เวอร์ชันไปยังที่เก็บ
URL นำเข้า svn

ข้อมูล – แสดงข้อมูลเกี่ยวกับองค์ประกอบท้องถิ่นหรือระยะไกล
ข้อมูล svn

รายการ (ls) – รายการไดเรกทอรีในพื้นที่เก็บข้อมูล
รายการ...]
รายการ $ svn http://svn.red-bean.com/repos/test/support

ล็อค – ล็อคสำเนาการทำงานในพื้นที่เก็บข้อมูลเพื่อไม่ให้ผู้ใช้รายอื่นสามารถเปลี่ยนแปลงเส้นทางที่กำหนดได้
svn ล็อคเป้าหมาย...
$ svn ล็อค tree.jpg house.jpg

บันทึก – แสดงข้อความบันทึก
บันทึก SVN
URL บันทึก svn
บันทึก $svn

ผสาน – ใช้ความแตกต่างระหว่างสองแหล่ง
$ svn ผสาน -r 250:HEAD http://svn.red-bean.com/repos/branches/my-branch

mkdir – สร้างไดเรกทอรีในพื้นที่เก็บข้อมูลที่ควบคุมเวอร์ชัน
$svn mkdir newdir

ย้าย (mv, เปลี่ยนชื่อ, ren) – ย้ายไฟล์หรือไดเร็กทอรี
svn ย้าย SRC DST

propdel (pdel, pd) – ลบคุณสมบัติออกจากไฟล์ ไดเร็กทอรี หรือการแก้ไข
svn propdel PROPNAME
svn propdel PROPNAME –revprop -r REV

propedit (pedit, pe)
โพรเจ็ต (pget, pg)
proplist (plist, pl)
อุปกรณ์ประกอบฉาก (pset, ps)

แก้ไขแล้ว - ลบ "ข้อขัดแย้ง" ออกจากสำเนาการทำงานของไฟล์หรือไดเร็กทอรี
svn แก้ไขเส้นทางแล้ว…

ย้อนกลับ - คืนค่าการเปลี่ยนแปลงในเครื่องทั้งหมด
$ svn เปลี่ยนกลับ myprj.phtml

สถานะ (stat, st) – สถานะของสำเนาการทำงานของไฟล์หรือไดเร็กทอรี
สถานะห้องน้ำ $svn

switch (sw) - อัปเดตสำเนาการทำงานเป็น URL อื่น

ปลดล็อค – ปลดล็อคสำเนาการทำงาน

อัปเดต (ขึ้น) – อัปเดตสำเนาการทำงานของคุณ