remote repository<---->local repository<---->stage<---->working directory
1. 初始download 資料夾from server
$git clone server_name aa aa是folder name可以自己建
2. 修改完code之後要傳上server
$git add filenameA filenameB 將檔案都丟進stage
$git commit -m "log message" 將檔案commit上local repository
$git push 將修改的部分真正傳到server
git add的部分,如果有把握的話可以使用$git add . 會將整個working directory有修改過的檔案都丟進stage,如果沒把握請勿使用,避免傳上不知道狀況的檔案.
3. 更新自己的code到server上最新的code
$git fetch 更新local repository與remote repository一致
$git merge origin/master 將working directory更新與server上一致,如果有conflict會出現在這邊
如果要看server上改了什麼在git fetch完之後
$git checkout origin/master
$gitk -a
4. 修改conflict的方式
$ vim conflict_file_name
進去之後會看到類似的情況
<<<<<<< c97e4c60de36e44afd801cf0d22aab1399e9269c
123
=======
456
>>>>>>> conflict example
<<<跟>>>中間的部分是git無法merge的部分,===上面是A版的code,===下面是B版的code,自己修改完之後,記得將<<< >>> ===都刪除, press esc-->:-->wq 儲存離開
5. rollback code的方法
如果是本機上的單支code改亂了,要revert到沒改過的狀況
$git checkout file_name
如果是整個資料夾都改壞了,要全部檔案rollback
$git reset --hard HEAD
6. rollback小板的方法
如果只是某幾支檔案要退回xx版,來驗證東西的話
$git checkout xxx_version fileA fileB fileC 可以將特定檔案rollback回xxx version
沒有留言:
張貼留言