Discussion:
[問題] 新手git的幾個問題,麻煩各位前輩了!
(时间太久无法回复)
阿銫
2012-12-03 16:45:52 UTC
Permalink
我是在win7電腦裡安裝msysgit


1.請問如果同事沒用GIT,整合時要怎麼用GIT合併?

是不是要先將檔案copy到我電腦,然候初始一個repo,但接下來我就不會了

怎麼試都沒辦法將我的repo跟他的repo合併,麻煩各位大大了!!

版本控制GIT 這本翻譯書,教的真的看不太懂說@@..

一下origin又remote的..照著做也做不出來,


2.有時候指令忘記打到什麼錯誤指令了,然候就變成不是一般輸入的樣子,也就是每一行

最前面沒有 "$",輸入指令也沒用,按"Q",也離開不了,只能硬關掉了,請問這要怎麼解決


3.假如我用diff檢查兩個檔案有什麼不一樣,能不能像commit message可以顯示在

notepad++,或計事本之類的東西呢? 指令編輯器顯示的不是很好看懂..


4.假設我從master開兩個分支,A跟B,當要合併時碰到的問題:

master找A合併後再找B合併,然候還有什麼需要做的事嗎??

為什麼沒辦法A跟B先合併,是因為他們是branch,而不是master嗎?
(我在A位置然候merge B,結果檔案根本沒動)

5.develope跟branch,怎麼很少看到網路上講到develope這條線呢? 還是它就是branch?

6.怎麼樣才能顯示branch分支圖(教學blog看到的)

問題有點多,非常感謝看完..小弟先感謝您的指教

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.58.173.57
hello
2012-12-03 23:59:00 UTC
Permalink
先聲明我也是新手

提供的方法若有錯還請見諒並不吝指正

※ 引述《PTTLSboy (阿銫)》之銘言:
: 我是在win7電腦裡安裝msysgit
: 1.請問如果同事沒用GIT,整合時要怎麼用GIT合併?
: 是不是要先將檔案copy到我電腦,然候初始一個repo,但接下來我就不會了
若已經將檔案copy過來了

可以直接git add 同事的檔案

再git commit

若檔名跟你原來的repo有衝突比較麻煩

可能要用diff看檔案內容的差異

然後修改後再commit

: 怎麼試都沒辦法將我的repo跟他的repo合併,麻煩各位大大了!!
: 版本控制GIT 這本翻譯書,教的真的看不太懂說@@..
: 一下origin又remote的..照著做也做不出來,
: 2.有時候指令忘記打到什麼錯誤指令了,然候就變成不是一般輸入的樣子,也就是每一行
: 最前面沒有 "$",輸入指令也沒用,按"Q",也離開不了,只能硬關掉了,請問這要怎麼解決
: 3.假如我用diff檢查兩個檔案有什麼不一樣,能不能像commit message可以顯示在
: notepad++,或計事本之類的東西呢? 指令編輯器顯示的不是很好看懂..
: 4.假設我從master開兩個分支,A跟B,當要合併時碰到的問題:
: master找A合併後再找B合併,然候還有什麼需要做的事嗎??
: 為什麼沒辦法A跟B先合併,是因為他們是branch,而不是master嗎?
: (我在A位置然候merge B,結果檔案根本沒動)
: 5.develope跟branch,怎麼很少看到網路上講到develope這條線呢? 還是它就是branch?
: 6.怎麼樣才能顯示branch分支圖(教學blog看到的)
: 問題有點多,非常感謝看完..小弟先感謝您的指教

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.147.66.193
家鉌
2012-12-04 03:23:28 UTC
Permalink
※ 引述《goodplace (hello)》之銘言:
: 先聲明我也是新手
: 提供的方法若有錯還請見諒並不吝指正
: ※ 引述《PTTLSboy (阿銫)》之銘言:
: : 我是在win7電腦裡安裝msysgit
: : 1.請問如果同事沒用GIT,整合時要怎麼用GIT合併?
: : 是不是要先將檔案copy到我電腦,然候初始一個repo,但接下來我就不會了
: 若已經將檔案copy過來了
: 可以直接git add 同事的檔案
: 再git commit
: 若檔名跟你原來的repo有衝突比較麻煩
: 可能要用diff看檔案內容的差異
: 然後修改後再commit
這種情況,合併的方式有很多種:

[1]
最簡單的就是將你同事的檔案直接覆蓋掉你的檔案,然後執行'git diff',
一個一個來檢查是否有你不想要的修改,再 reset 掉或直接修改。

確定好所有的修改之後,你就可以執行 git add . 和 git commit 來儲存狀態了。

[2]
在你的 repo 開一個新的 branch,例如: 'git checkout -b for-merge',
將你同事的的檔案直接覆蓋在現在的 branch,並且直接 commit 儲存狀態。
再切回原來的 branch,例如: 'git checkout master',並且執行合併。

git merge for-merge,如果發生衝突,試著解決它然後在執行一次 commit。

[3]
如你所提,你將同事的檔案再建一個 repo,那你就必須讓你的 repo 知道
你同事 repo 的存在,所以在你的 repo 增加一個 remote repo 吧。
例如:'git remote add mymate /path/to/my/mate/repo',

將這個 remote repo 拉下來,執行'git pull',
並且合併,執行'git merge mymate/master',

[3] 跟 [2] 的概念其實是相同的。

: : 怎麼試都沒辦法將我的repo跟他的repo合併,麻煩各位大大了!!
: : 版本控制GIT 這本翻譯書,教的真的看不太懂說@@..
這本書其實寫得很好,但是不要跳著看,最好是循序漸進全部看完。

: : 一下origin又remote的..照著做也做不出來,
origin 通常用來表示你所 clone 的 remote repository

: : 2.有時候指令忘記打到什麼錯誤指令了,然候就變成不是一般輸入的樣子,也就是每一行
: : 最前面沒有 "$",輸入指令也沒用,按"Q",也離開不了,只能硬關掉了,請問這要怎麼解決
這到是沒遇過。

: : 3.假如我用diff檢查兩個檔案有什麼不一樣,能不能像commit message可以顯示在
: : notepad++,或計事本之類的東西呢? 指令編輯器顯示的不是很好看懂..
你是指 diff 還是 git diff?git diff 出來的東西還蠻好讀的阿!

: : 4.假設我從master開兩個分支,A跟B,當要合併時碰到的問題:
: : master找A合併後再找B合併,然候還有什麼需要做的事嗎??
: : 為什麼沒辦法A跟B先合併,是因為他們是branch,而不是master嗎?
: : (我在A位置然候merge B,結果檔案根本沒動)
A merge B 沒有反應,通常意味著這兩個 branch 是相同的或是處於衝突狀態。

: : 5.develope跟branch,怎麼很少看到網路上講到develope這條線呢? 還是它就是branch?
我想你應該是指 git work flow 裡面提的吧?develop 就是 branch,至於怎樣的方式來
開發是因人而異的,選一個最符合你們的方式即可!

: : 6.怎麼樣才能顯示branch分支圖(教學blog看到的)
: : 問題有點多,非常感謝看完..小弟先感謝您的指教
gitk 就可以叫出 GUI 的 commit log 了

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.38.193

Loading...