※ 引述《justintime (All is well~)》之銘言:
: 小弟是git的新手
: 很多觀念都還模模糊糊
: 所以還不太敢實作
其實你可以試試看啊...備份不難吧
: 想請問一下
: 如果我server上有個 A.c 檔
: 我clone下來後修改了這個 A.c 檔
: 之後 add commit merge回server時
: 1.merge時是否會有衝突發生?
會
: 2.衝突的定義是指相同檔名內容不同嗎?
當然
: 3.如果有的話我該把舊的內容改成跟新的 A.c 檔一樣嗎?
: 4.但如果 A.c 檔裡有5,6千行我該怎麼改?
首先當你想上傳 server 時其實通常是用 push 而不是 merge
是從 server 拉回本地時才用 fetch + merge (合起來就叫 pull)
當 push 時, server 會比對 server 上的 repo 和正被 push 上來的 repo
如果兩者可以直接差別更新, 那就會自動把 push 上來的 repo 中, 不存在於 server
裡的 commits 直接附加到 server 的 repo 中
例如...
remote
A -- B -- C <- mster
\
-- D <- some_branch
local
A -- B -- C -- E <- master
那 git push remote master 之後 remote 就會變成
remote
A -- B -- C -- E <- master
\
-- D <- some_branch
這叫做 fast forward merge
當 git 無法完成 fast forward merge 時, 才會告訴你需要手動 resolve
這時候它會在訊息中顯示所有需要 resolve 的檔案
而在那些檔案中, 會用特定格式標示出 conflict 的發生位置
所以即使你的原碼很長, 也不太容易找不到要改哪裡
: 非常謝謝各位回答!!
大概是這樣吧
其實網路上現在都有不少教學了
自己建立一個 repo, 加上 GitHub 的 remote 玩一玩就會熟了
而且 git 為了安全起見, 無法從 local 端修改 remote 端的任何資料(只能附加)
所以其實無論如何你都沒辦法把已經 push 上去的資料搞爆的, 這個可以放心XD
--
╱ ̄ ̄ ̄╲
▏◢█◣ ▏
︻█︻█ ▏ 成龍表示: 是喔...
′/ ‵ ▏
╰╯ █╱
ψQSWEET ◥︶█◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146