看板 Linux 關於我們 聯絡資訊
※ 引述《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