tag:blogger.com,1999:blog-59465307047421309702024-03-06T16:20:07.273+08:00Jax 的工作紀錄除了在整理學習上的經驗,同時也能幫助其他需要的人Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5946530704742130970.post-57722872348582909102015-03-26T14:39:00.000+08:002015-03-26T14:39:01.166+08:00Eclipse Git 基本操作Git 只有本地端(local)跟遠端(remote)的分別,並不是 client 跟 server 的關係,只要是非專案本身的都可以稱為遠端,例如 A 與 B 專案都在自己的電腦裡,A 專案是可以將 B 專案設為遠端進行版本傳遞。<br />
<br />
幾個基本日常操作的名稱意義:<br />
<ul><li><a href="#git_commit">commit</a>: 將完成的程式提交到版本控制中</li>
<li><a href="#git_revert">revert</a>: 放棄修改,將程式回復</li>
<li><a href="#git_merge">merge</a>: 將兩個不同版本的程式進行合併</li>
<li><a href="#git_pull">pull</a>: 從遠端取回有差異的程式版本</li>
<li><a href="#git_push">push</a>: 將本地端的版本傳到遠端</li>
<li><a href="#git_clone">clone</a>: 從遠端複製一個專案到本地</li>
</ul><br />
<br />
<hr/><h2>在專案建立 Git 版本控制</h2><br />
在一個專案上滑鼠右鍵選擇 [團隊]->[共享專案]<br />
<a href="http://2.bp.blogspot.com/-ukf4jgc1fu0/VROZ-AUDPsI/AAAAAAAANuI/HNGOoNy_7Mw/s1600/git_create_01.png" ><img src="http://2.bp.blogspot.com/-ukf4jgc1fu0/VROZ-AUDPsI/AAAAAAAANuI/HNGOoNy_7Mw/s550/git_create_01.png" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcj3yTNskPd4Y5DHUotGcAGMFv0SqtafW3dpja3H5imdgxvndOxcE2RZMLBm0p9uFfps0p3AlEaxLzuA0FAHsuMJ-3yzdIzRV-EtwXmhXHV6nJakRnbkF0vtbpP1lGxnKjZouWe3kwz4OY/s1600/git_create_02.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcj3yTNskPd4Y5DHUotGcAGMFv0SqtafW3dpja3H5imdgxvndOxcE2RZMLBm0p9uFfps0p3AlEaxLzuA0FAHsuMJ-3yzdIzRV-EtwXmhXHV6nJakRnbkF0vtbpP1lGxnKjZouWe3kwz4OY/s550/git_create_02.png" /></a><br />
<br />
先建立 Git 儲存庫<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI4jwGaFCSHoxRAyPm8OJqEn0oDSrYda4xlX_9t6K7lV99nZI3mboXvPXclfMs0ct9OX4FciD0fKHGxwoG7IBzTZbDvjCAh2LNOqW7nYQu6-bmf3cvkQ-57KrvhdzafVTdHJuZ4-5qYAQk/s1600/git_create_03.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI4jwGaFCSHoxRAyPm8OJqEn0oDSrYda4xlX_9t6K7lV99nZI3mboXvPXclfMs0ct9OX4FciD0fKHGxwoG7IBzTZbDvjCAh2LNOqW7nYQu6-bmf3cvkQ-57KrvhdzafVTdHJuZ4-5qYAQk/s550/git_create_03.png" /></a><br />
<a href="http://2.bp.blogspot.com/-XvE732rTnyE/VROZ_XG33_I/AAAAAAAANuk/0d9hv2BBhsk/s1600/git_create_04.png" ><img src="http://2.bp.blogspot.com/-XvE732rTnyE/VROZ_XG33_I/AAAAAAAANuk/0d9hv2BBhsk/s550/git_create_04.png" /></a><br />
<br />
<br />
<hr/><h2><a name="git_commit"></a>將專案中的異動 commit 到 Git 版本控制</h2><br />
隨便建立幾個文件<br />
<a href="http://2.bp.blogspot.com/-ymjcqpEtyyI/VROZ9ZSqlhI/AAAAAAAANt0/BEKYmFbZxD4/s1600/git_commit_01.png" ><img src="http://2.bp.blogspot.com/-ymjcqpEtyyI/VROZ9ZSqlhI/AAAAAAAANt0/BEKYmFbZxD4/s550/git_commit_01.png" /></a><br />
<br />
在專案上右鍵選擇 [團隊]->[確定]<br />
<a href="http://2.bp.blogspot.com/-IjUur_o3RJo/VROaFXSgu9I/AAAAAAAANvw/yzKaOce14vo/s1600/git_commit_03.png" ><img src="http://2.bp.blogspot.com/-IjUur_o3RJo/VROaFXSgu9I/AAAAAAAANvw/yzKaOce14vo/s550/git_commit_03.png" /></a><br />
<br />
填寫 commit 的訊息,以及選擇要 commit 的檔案<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwk4bsYVEy4oQFt3K2TafZlqR-9LmxCr6ddJWjSkLHRUKsW22hfVpEAvWQ39uQwx_KdBouAAICJkv7tcfOktVdeT3AVwQBV5y9D4EIw4OBonUSDKQkiFNoi841-fkyQaM2DvnSRkdH8s1R/s1600/git_commit_04.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwk4bsYVEy4oQFt3K2TafZlqR-9LmxCr6ddJWjSkLHRUKsW22hfVpEAvWQ39uQwx_KdBouAAICJkv7tcfOktVdeT3AVwQBV5y9D4EIw4OBonUSDKQkiFNoi841-fkyQaM2DvnSRkdH8s1R/s550/git_commit_04.png" /></a><br />
<br />
<br />
<hr/><h2><a name="git_revert"></a>程式回復到尚未修改時</h2><br />
在要回復的檔案右鍵選擇 [取代為]->[HEAD Revision]<br />
<a href="http://4.bp.blogspot.com/-n2oSzcGLnok/VROaC76g6zI/AAAAAAAANvc/xUHCvwEINN8/s1600/git_revert_01.png" ><img src="http://4.bp.blogspot.com/-n2oSzcGLnok/VROaC76g6zI/AAAAAAAANvc/xUHCvwEINN8/s550/git_revert_01.png" /></a><br />
<br />
<br />
<hr/><h2><a name="git_merge"></a>版本合併</h2><br />
在專案上右鍵選擇 [團隊]->[Pull] 從遠端取回有差異的程式<br />
<a href="http://2.bp.blogspot.com/-anf2N4iuLIQ/VROZ_3yZ4xI/AAAAAAAANvk/_un8JhbY2gk/s1600/git_merge_01.png" ><img src="http://2.bp.blogspot.com/-anf2N4iuLIQ/VROZ_3yZ4xI/AAAAAAAANvk/_un8JhbY2gk/s550/git_merge_01.png" /></a><br />
<a href="http://2.bp.blogspot.com/-XvvarkSaEQs/VROaAH8fo0I/AAAAAAAANuw/bdA2aMUTIQE/s1600/git_merge_02.png" ><img src="http://2.bp.blogspot.com/-XvvarkSaEQs/VROaAH8fo0I/AAAAAAAANuw/bdA2aMUTIQE/s550/git_merge_02.png" /></a><br />
<br />
當檔案出現衝突時會顯示紅色的標記,這時候檔案右鍵選擇 [團隊]->[Merge Tool] <br />
<a href="http://2.bp.blogspot.com/-NZXnhCudgVc/VROaAizXSuI/AAAAAAAANvg/V_I4q8LwTUE/s1600/git_merge_03.png" ><img src="http://2.bp.blogspot.com/-NZXnhCudgVc/VROaAizXSuI/AAAAAAAANvg/V_I4q8LwTUE/s550/git_merge_03.png" /></a><br />
<a href="http://1.bp.blogspot.com/-aO9rKN0cTj4/VROaAyn0IMI/AAAAAAAANu8/N9qXacBN86U/s1600/git_merge_04.png" ><img src="http://1.bp.blogspot.com/-aO9rKN0cTj4/VROaAyn0IMI/AAAAAAAANu8/N9qXacBN86U/s550/git_merge_04.png" /></a><br />
<br />
接著就會出現合併的工具,修改完儲存關閉<br />
<a href="http://1.bp.blogspot.com/-huasCicUhM8/VROaBT4_F1I/AAAAAAAANvY/K1KNYoU3fYw/s1600/git_merge_05.png" ><img src="http://1.bp.blogspot.com/-huasCicUhM8/VROaBT4_F1I/AAAAAAAANvY/K1KNYoU3fYw/s550/git_merge_05.png" /></a><br />
<br />
最後檔案右鍵選擇 [團隊]->[Add to Index] 將檔案加到 commit 清單中<br />
<a href="http://3.bp.blogspot.com/-7aPDgrpBMRg/VROaBrQyRSI/AAAAAAAANvI/3Al2cAkBPRs/s1600/git_merge_06.png" ><img src="http://3.bp.blogspot.com/-7aPDgrpBMRg/VROaBrQyRSI/AAAAAAAANvI/3Al2cAkBPRs/s550/git_merge_06.png" /></a><br />
<br />
<br />
<hr/><h2><a name="git_push"></a>將本地端的版本傳到遠端</h2><a href="http://4.bp.blogspot.com/-sug6tx1zqN0/VROaCImDozI/AAAAAAAANvU/ssP2daBaVHI/s1600/git_push_01.png" ><img src="http://4.bp.blogspot.com/-sug6tx1zqN0/VROaCImDozI/AAAAAAAANvU/ssP2daBaVHI/s550/git_push_01.png" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0h5StXaKzmxRCAt-tJ2vKLW7s1hxiA-UqVgD_CaBQCA7qYt1dSBwBesFAs3Udv5W_vSn3YpYyaWOOj1mYn6pTGy-y_HB021nZqpxq8EiKUWLkTpDtud9PbHx_JEYTrHnZeTcbMVszyNT4/s1600/git_push_02.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0h5StXaKzmxRCAt-tJ2vKLW7s1hxiA-UqVgD_CaBQCA7qYt1dSBwBesFAs3Udv5W_vSn3YpYyaWOOj1mYn6pTGy-y_HB021nZqpxq8EiKUWLkTpDtud9PbHx_JEYTrHnZeTcbMVszyNT4/s550/git_push_02.png" /></a><br />
<br />
<br />
<hr/><h2><a name="git_clone"></a>從遠端複製一個專案</h2><br />
<a href="http://4.bp.blogspot.com/-VY0uJlACCeg/VROZ6QobetI/AAAAAAAANtI/qlekvTvu--0/s1600/git_clone_01.png" ><img src="http://4.bp.blogspot.com/-VY0uJlACCeg/VROZ6QobetI/AAAAAAAANtI/qlekvTvu--0/s550/git_clone_01.png" /></a><br />
<a href="http://1.bp.blogspot.com/-jKoyv9taTow/VROZ6R7fp9I/AAAAAAAANv4/WGDSUxzXW4A/s1600/git_clone_02.png" ><img src="http://1.bp.blogspot.com/-jKoyv9taTow/VROZ6R7fp9I/AAAAAAAANv4/WGDSUxzXW4A/s550/git_clone_02.png" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlMBniAu1DslDJuzgZbSUT2k2HEzEFO03ftJRx1gUYdtrHXO9a7fB6RS1aYnlTRdYqX_fkYgjR4nqy049N_PvVoMcG8sasQ5dOPXnuXjaZIH3pR0UpYCrYLikj9zwLf5lWkAxu4Yj6eZEj/s1600/git_clone_03.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlMBniAu1DslDJuzgZbSUT2k2HEzEFO03ftJRx1gUYdtrHXO9a7fB6RS1aYnlTRdYqX_fkYgjR4nqy049N_PvVoMcG8sasQ5dOPXnuXjaZIH3pR0UpYCrYLikj9zwLf5lWkAxu4Yj6eZEj/s550/git_clone_03.png" /></a><br />
<br />
指定來源的遠端<br />
<a href="http://2.bp.blogspot.com/-ZZdVwmZ8yUU/VROZ7No26HI/AAAAAAAANv4/2u7vUvlCOz4/s1600/git_clone_04.png" ><img src="http://2.bp.blogspot.com/-ZZdVwmZ8yUU/VROZ7No26HI/AAAAAAAANv4/2u7vUvlCOz4/s550/git_clone_04.png" /></a><br />
<br />
目的地目錄最好修改到 Workspace 中<br />
<a href="http://1.bp.blogspot.com/-hnaUKyM0YEo/VROZ7bVUEJI/AAAAAAAANtY/QftM_tNo8AU/s1600/git_clone_05.png" ><img src="http://1.bp.blogspot.com/-hnaUKyM0YEo/VROZ7bVUEJI/AAAAAAAANtY/QftM_tNo8AU/s550/git_clone_05.png" /></a><br />
<a href="http://4.bp.blogspot.com/-i4Iv0G_PFk0/VROZ7gNMNzI/AAAAAAAANtc/HwDVc05fJKU/s1600/git_clone_06.png" ><img src="http://4.bp.blogspot.com/-i4Iv0G_PFk0/VROZ7gNMNzI/AAAAAAAANtc/HwDVc05fJKU/s550/git_clone_06.png" /></a><br />
<a href="http://4.bp.blogspot.com/-KUmpffwK0C8/VROZ8N9s36I/AAAAAAAANv4/Z1NnbA7DC64/s1600/git_clone_07.png" ><img src="http://4.bp.blogspot.com/-KUmpffwK0C8/VROZ8N9s36I/AAAAAAAANv4/Z1NnbA7DC64/s550/git_clone_07.png" /></a><br />
<a href="http://3.bp.blogspot.com/-VdGMe6JbLRc/VROZ8VhUV3I/AAAAAAAANv4/p1Gik5a4fLo/s1600/git_clone_08.png" ><img src="http://3.bp.blogspot.com/-VdGMe6JbLRc/VROZ8VhUV3I/AAAAAAAANv4/p1Gik5a4fLo/s550/git_clone_08.png" /></a><br />
Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0tag:blogger.com,1999:blog-5946530704742130970.post-91477692629219653452015-02-24T21:13:00.000+08:002015-02-26T09:45:24.999+08:00[Git] 取得最新的版號日期<pre class="sh:nogutter:nocontrols" name="code">git log -1 --date=short --format='%cd %h'
# 2015-02-13 e396510
git log -1 --date=short --format=%cd
# 2015-02-13
git log -1 --format=%h
# e396510
</pre><br />
<b>-1 </b><br />
只顯示第一筆 (筆數)<br />
<br />
<b>--date=short</b><br />
短的日期格式<br />
<br />
<b>--format=%cd</b><br />
commit date <br />
<br />
<b>--format=%h</b><br />
短版的 commit hash <br />
<br />
參考資料:<a href="https://www.kernel.org/pub/software/scm/git/docs/git-log.html" target="_blank">git-log(1) Manual Page </a>Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0