คำถามติดแท็ก git

Git เป็นระบบควบคุมเวอร์ชันแจกจ่ายแบบโอเพนซอร์ซ (DVCS) ใช้แท็กนี้สำหรับคำถามที่เกี่ยวข้องกับการใช้งาน Git และเวิร์กโฟลว์ อย่าใช้แท็ก [github] สำหรับปัญหาที่เกี่ยวข้องกับ Git เพียงเพราะพื้นที่เก็บข้อมูลเกิดขึ้นเพื่อโฮสต์บน GitHub นอกจากนี้อย่าใช้แท็กนี้สำหรับคำถามการเขียนโปรแกรมทั่วไปที่เกี่ยวข้องกับที่เก็บ Git

21
ฉันจะสร้างส่วนต่างของสเปรดชีตที่อ่านได้โดยใช้ git diff อย่างไร
เรามีสเปรดชีตจำนวนมาก (xls) ในที่เก็บซอร์สโค้ดของเรา เหล่านี้มักจะแก้ไขได้ด้วย Gnumeric หรือ openoffice.org และส่วนใหญ่จะใช้ในการเติมฐานข้อมูลสำหรับการทดสอบหน่วยที่มีDbUnit ไม่มีวิธีง่าย ๆ ในการทำ diffs บนไฟล์ xls ที่ฉันรู้จักและสิ่งนี้ทำให้การรวมที่น่าเบื่อและข้อผิดพลาดเกิดขึ้นได้ง่ายมาก ฉันพยายามแปลงสเปรดชีตเป็น xml และทำ diff ทั่วไป แต่มันรู้สึกเหมือนว่ามันควรจะเป็นทางเลือกสุดท้าย ฉันต้องการที่จะทำการ diffing (และการผสาน) กับgitฉันทำกับไฟล์ข้อความ ฉันจะทำเช่นนี้ได้อย่างไรเมื่อออกgit diff?
168 git  version-control  merge  diff  xls 

3
'git branch -av' แสดงรีโมตสาขาที่ไม่มีอยู่อีกต่อไป
นี่อาจเป็นคำถามที่โง่ แต่ฉันใหม่เอี่ยมสำหรับคอมไพล์และฉันเห็นสาขาระยะไกลที่ไม่มีอยู่อีกต่อไป $ git branch -a * master remotes/origin/master remotes/origin/production ฉันไม่เชื่อว่าสาขาการผลิตนั้นอยู่ในระยะไกลและไม่สามารถระบุได้ว่าเหตุใดจึงยังคงแสดงในพื้นที่ ฉันจะลบ / ลบสาขานี้ได้อย่างไร นี่เป็นความพยายามที่จะลบออกดูเหมือนว่า: $ git push origin :production error: unable to push to unqualified destination: production The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a …
168 git 

7
วิธีที่ดีที่สุดในการเพิ่มการรองรับ Gradle ให้กับโครงการ IntelliJ
ฉันดูไปรอบ ๆ แล้วและไม่พบทางออกที่ดีที่สุดในการแปลงโครงการ IntelliJ ที่มีอยู่เป็น Gradle ฉันทำงานในสภาพแวดล้อมแบบทีมและปัจจุบันเราแชร์ไฟล์. ipr เนื่องจากเรามีการกำหนดค่าการสร้างบางอย่างที่เราติดตาม เราจะกำจัดพวกที่ชอบ Gradle ในที่สุด แต่ฉันไม่สามารถทำสิ่งต่าง ๆ มากเกินไปจนกว่าการแปลง Gradle จะเสร็จสิ้น นอกจากนี้ไฟล์ต้นฉบับ Java ของเรายังอยู่ในรูทของไดเรกทอรี src แทน src / main / java ตามที่เป็นมาตรฐาน มีวิธีที่ฉันสามารถเพิ่ม Gradle ให้กับโครงการของฉันที่จะไม่ทำให้ฉันลบและสร้างโครงการ IntelliJ ของฉันขึ้นมาใหม่และจะไม่ทำให้คนอื่นสับสนเมื่อพวกเขาทำ Git pull?

6
คอมไพล์ทำงานสองสาขาพร้อมกัน
ฉันมีโครงการที่มีหลายสาขา ผมอยากจะทำงานในหลายgit checkoutสาขาพร้อมกันโดยไม่ต้องสลับไปมาด้วย มีวิธีใดที่ฉันสามารถทำได้นอกเหนือจากการคัดลอกพื้นที่เก็บข้อมูลทั้งหมดที่อื่น?
168 git  branch 

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

18
GitHub - ไม่สามารถเชื่อมต่อกับ github 443 windows / ไม่สามารถเชื่อมต่อกับ gitHub - ไม่มีข้อผิดพลาด
ถาม - ฉันติดตั้ง git เพื่อรับ Angular รุ่นล่าสุด เมื่อฉันพยายามวิ่ง git clone https://github.com/angular/angular-phonecat.git ฉันไม่สามารถเชื่อมต่อกับข้อผิดพลาด github 443 ฉันลองแล้ว git clone git://github.com/angular/angular-phonecat.git นั่นทำให้ฉันล้มเหลวในการเชื่อมต่อไม่มีข้อความแสดงข้อผิดพลาด ฉันอยู่หลังไฟร์วอลล์ บริษัท ของฉัน control panel->Internet Options -> connections -> LAN settingฉันไม่สามารถดูรายละเอียดพร็อกซี่ของฉันเมื่อฉันไป พวกไอทีไม่ได้แชร์ข้อมูลพร็อกซีกับฉัน ฉันไม่รู้จะทำอย่างไร ?? ในที่สุดฉันก็สามารถทำได้ ฉันจะอัปเดตขั้นตอนที่ฉันทำไปเพื่อแค่ต้องการรวบรวมขั้นตอนทั้งหมดที่ฉันทำเพื่อให้มันใช้งานได้
167 git  github 

7
วิธีทดสอบการผสานโดยไม่ต้องรวมก่อน
มีวิธีการจำลองgit mergeระหว่างสองสาขาสาขาที่ทำงานปัจจุบันและต้นแบบ แต่ไม่มีการเปลี่ยนแปลงใด ๆ ? git mergeฉันมักจะมีความขัดแย้งเมื่อฉันจะต้องทำ มีวิธีการจำลองการผสานก่อนหรือไม่
167 git  merge 


3
คุณจะแสดงไฟล์ที่ไม่ได้ติดตามซึ่งไม่มีอยู่ใน. gitignore ได้อย่างไร
ฉันใช้git status -uเพื่อแสดงไฟล์ที่ไม่ได้ติดตาม และที่เทอร์มินัลฉันเห็นไฟล์ที่ไม่ได้ติดตามมากมายที่ฉันต้องทำการยกเลิกการติดตามเช่นการทดสอบหน่วยเอกสารส่วนตัว ฯลฯ ที่ฉันใส่ไว้.gitignoreแต่ดูเหมือนว่าgit statusยังคงแสดงไฟล์เหล่านั้นอยู่ .gitignoreคุณจะทำอย่างไรแสดงเฉพาะไฟล์ที่ไม่ได้ติดตามที่ไม่ได้อยู่ใน
167 git 

2
กำหนดค่า Git ให้ยอมรับใบรับรองเซิร์ฟเวอร์ที่ลงนามเองโดยเฉพาะสำหรับ https ระยะไกลโดยเฉพาะ
ดูแลระบบสำหรับโครงการที่ฉันได้ตัดสินใจแล้วว่า SSH เป็น "ปัญหามากเกินไป"; แต่เขาได้ตั้งค่า Git ให้สามารถเข้าถึงได้ผ่านhttps://URL (และการตรวจสอบชื่อผู้ใช้ / รหัสผ่าน) เซิร์ฟเวอร์สำหรับ URL นี้แสดงใบรับรองที่ลงชื่อด้วยตนเองดังนั้นเขาจึงแนะนำให้ทุกคนปิดการตรวจสอบใบรับรอง สิ่งนี้ไม่ได้รบกวนฉันในเรื่องการตั้งค่าที่ดีความปลอดภัย เป็นไปได้หรือไม่ที่จะบอก Git ว่า remote X (หรือดีกว่า remote ใด ๆ ในที่เก็บใด ๆ ที่เกิดขึ้นเมื่อเริ่มต้นด้วยhttps://$SERVERNAME/) ต้องยอมรับใบรับรองเฉพาะและใบรับรองนั้นเท่านั้น ? โดยทั่วไปจะทำซ้ำการทำงานของคีย์เซิร์ฟเวอร์ของ SSH

1
ผสานสาขาท้องถิ่นหนึ่งสาขาเข้ากับสาขาท้องถิ่นอื่น
ฉันมีหลายสาขาที่แยกออกจากต้นแบบ (แต่ละอันในไดเรกทอรีย่อยแยกต่างหาก) สาขา 1: การพัฒนาใหม่ยังไม่เสร็จสมบูรณ์ Branch2: โปรแกรมแก้ไขด่วนสำหรับปัญหา แต่ยังอยู่ภายใต้การทดสอบ สาขาที่ 3: ยุ่งไปกับสาขาซึ่งฉันจะไม่กู้คืน ก่อนที่การทดสอบของโปรแกรมแก้ไขด่วนจะเสร็จสิ้นฉันต้องการรหัสที่มีอยู่แล้วใน Branch1 เพื่อให้ฉันสามารถพัฒนาต่อไปได้ด้วยการแก้ไข (แต่เนื่องจากประสบการณ์ของฉันเกี่ยวกับคอมไพล์ไม่มากฉันเริ่มเล่นรอบกับผสานในสาขาที่ 3 โดยเฉพาะอย่างยิ่งสร้างขึ้นเพื่อยุ่งรอบก่อนที่ฉันจะยุ่งทั้ง Branch1 หรือ Branch2) ในสาขาที่ 3 ของฉันฉันลองต่อไปนี้เป็นครั้งแรก: git merge feature/Branch1 แต่สิ่งนี้ทำให้เกิดข้อผิดพลาดดังต่อไปนี้: fatal: 'feature/Branch1' does not point to a commit ต่อไปฉันได้กระทำ -a ใน Branch1 ของฉันและลองอีกครั้ง แต่มันก็ให้ข้อผิดพลาดเดียวกัน ผมทำอะไรผิดหรือเปล่า? ฉันควรทำอย่างไรเพื่อรวมรหัสจาก - ในกรณีนี้ - Branch1 กับ Branch3
167 git  merge 

4
จะจัดการกับคำเตือนคอมไพล์นี้อย่างไร? “ การดึงโดยไม่ระบุวิธีการกระทบยอดแตกแขนงเป็นสิ่งที่ไม่ควรทำ”
หลังจากนั้นgit pull origin masterฉันได้รับข้อความต่อไปนี้: warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config pull.rebase false # merge (the default strategy) git config pull.rebase true # rebase git config pull.ff …
167 git 

2
การตรวจสอบแท็ก Git นำไปสู่ ​​"สถานะ HEAD ที่แยกออก"
ฉันกำลังพัฒนาสคริปต์การปรับใช้สำหรับโครงการคอมไพล์ของฉันและฉันเพิ่งเริ่มใช้แท็ก ฉันได้เพิ่มแท็กใหม่ชื่อv2.0: git tag -a v2.0 -m "Launching version 2.0" และฉันได้ผลักแท็กนี้ไปยังที่เก็บระยะไกล git push --tags เมื่อฉันพยายามเรียกใช้สคริปต์การปรับใช้และตรวจสอบv2.0แท็กที่ฉันได้รับข้อความนี้: คุณอยู่ในสถานะ 'ถอดหัว' คุณสามารถดูรอบ ๆ ทำการเปลี่ยนแปลงทดสอบและส่งมอบและคุณสามารถละทิ้งการกระทำใด ๆ ที่คุณทำในสถานะนี้โดยไม่กระทบสาขาใด ๆ โดยดำเนินการชำระเงินอีกครั้ง หากคุณต้องการสร้างสาขาใหม่เพื่อรักษาความมุ่งมั่นที่คุณสร้างคุณสามารถทำได้ (ตอนนี้หรือภายหลัง) โดยใช้ -b พร้อมกับคำสั่งเช็คเอาต์อีกครั้ง ตัวอย่าง: git checkout -b new_branch_name HEAD อยู่ที่ เป็นเรื่องปกติหรือไม่ ที่เก็บอยู่ในบริเวณขอบรกเพราะถ้าฉัน: git branch ฉันได้ผลลัพธ์นี้: * (no branch) master ขออภัยถ้ามันชัดเจน แต่ฉันไม่สามารถเข้าใจได้
166 git  deployment  git-tag 

12
ปลั๊กอิน git มีความเสถียรเท่าไหร่สำหรับ eclipse?
ฉันตั้งใจจะเล่นกับคอมไพล์และสงสัยว่าถ้าใครเคยใช้ปลั๊กอินคอมไพล์สำหรับ eclipse ฉันเห็นมันเป็นรุ่น 0.3.1 และสงสัยว่าใครรู้ว่ามันเสถียรแค่ไหน / ก็มี gotchas บ้าง? ปรับปรุง: หากคุณใช้ Eclipse เวอร์ชันล่าสุดเมนูช่วยเหลือของคุณจะมีลิงก์ 'Eclipse Marketplace ... ' ป้อน 'git' ในช่องค้นหา นี่แสดงให้ฉันเห็น EGit นี่ยังสูงมากในรายการปลั๊กอินยอดนิยม คลิกติดตั้ง ง่ายกว่าการเพิ่มสถานที่ตั้งของเว็บไซต์ด้วยมือ

4
การเรียกใช้ git init สองครั้งเริ่มต้นพื้นที่เก็บข้อมูลหรือเตรียมใช้งาน repo ที่มีอยู่ใหม่หรือไม่
เกิดอะไรขึ้นกับที่เก็บ git ที่มีอยู่เมื่อคุณออกgit initอีกครั้ง git initฉันสร้างพื้นที่เก็บข้อมูลที่มี สร้างไฟล์เพิ่มกระทำ ตรวจสอบสถานะ (ไม่มีอะไรให้ทำ) จากนั้นสร้างไฟล์ใหม่ตรวจสอบสถานะและฉันสามารถดูว่าไม่ได้ติดตามอย่างที่คาดไว้ จากนั้นพูดโดยไม่ตั้งใจฉันทำงานgit initอีกครั้งและฉันได้รับข้อความที่เก็บ Git ที่มีอยู่ใหม่ พยายามgit statusแต่มันแสดงให้เห็นเหมือนกัน แล้วจะเกิดอะไรขึ้น? การเริ่มต้นที่เก็บ git ที่มีอยู่ใหม่ด้วยวิธีนี้จะเป็นอันตรายหรือเป็นประโยชน์? ทำไมเราถึงสามารถgit initอยู่ในพื้นที่เก็บข้อมูลที่มีอยู่?
166 git 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.