欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

鍑犱釜甯哥敤鐨?Git 楂樼骇鍛戒护,git

来源: javaer 分享于  点击 31589 次 点评:152

鍑犱釜甯哥敤鐨?Git 楂樼骇鍛戒护,git


Git聽鏄竴娆惧紑婧愪紭绉€鐨勭増鏈鐞嗗伐鍏凤紝瀹冩渶鍒濈敱聽Linus Torvalds聽绛変汉寮€鍙戯紝鐢ㄤ簬绠$悊 Linux Kernel 鐨勭増鏈爺鍙戙€傜浉鍏崇殑涔︾睄鍜屾暀绋嬬綉涓婄惓鐞呮弧鐩紝瀹冧滑澶氭暟閮借缁嗙殑浠嬬粛鍏跺熀鏈殑浣跨敤鍜屽懡浠ゃ€傛湰浜烘牴鎹嚜宸辩殑缁忛獙锛屾暣鐞嗗嚭鍑犱釜杈冧负楂樼骇鑰屽父鐢ㄧ殑鍛戒护銆?/p>

鎺ㄨ崘璧勬枡聽Git Book銆?/p>


Git blame

Git blame聽鍙互鏌ヨ姣忎竴琛屼唬鐮佺殑 commit ID銆佹彁浜よ€呭拰鎻愪氦鏃ユ湡銆?/p>

$ git blame nova/api/openstack/compute/servers.py

5b866f3a nova/api/openstack/v2/servers.py               (Kevin L. Mitchell        2012-01-09 13:13:08 -0600  776)     @wsgi.response(202)
5b866f3a nova/api/openstack/v2/servers.py               (Kevin L. Mitchell        2012-01-09 13:13:08 -0600  777)     @wsgi.serializers(xml=FullServerTemplate)
5b866f3a nova/api/openstack/v2/servers.py               (Kevin L. Mitchell        2012-01-09 13:13:08 -0600  778)     @wsgi.deserializers(xml=CreateDeserializer)
5b866f3a nova/api/openstack/v2/servers.py               (Kevin L. Mitchell        2012-01-09 13:13:08 -0600  779)     def create(self, req, body):
cc642ff1 nova/api/openstack/compute/servers.py          (Alex Meade               2012-04-15 21:44:15 -0400  780)         """Creates a new server for a given user."""
d1ad73ee nova/api/openstack/compute/servers.py          (Mark McLoughlin          2012-09-12 12:50:53 +0100  781)         if not self.is_valid_body(body, 'server'):
5b866f3a nova/api/openstack/v2/servers.py               (Kevin L. Mitchell

Git show

纭垏鐨勮锛孏it show 骞堕潪鏄竴涓珮绾у懡浠わ紝鍙槸瀹冪粡甯搁厤鍚?git blame锛屼粠鑰屾煡璇㈡暣涓?patch銆?/p>

$ git show 5b866f3a

...

diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index 5def03f..e96c42a 100644
--- a/nova/api/openstack/common.py
+++ b/nova/api/openstack/common.py
@@ -334,6 +334,21 @@ def get_networks_for_instance(context, instance):
     return networks


+class MetadataDeserializer(wsgi.MetadataXMLDeserializer):
+    def deserialize(self, text):
+        dom = minidom.parseString(text)
+        metadata_node = self.find_first_child_named(dom, "metadata")
+        metadata = self.extract_metadata(metadata_node)

...

Git reflog

Git reflog聽璁板綍浜?git 鏌愪釜鍒嗘敮鐨勬瘡娆℃搷浣滐紝閫氬父鐢ㄦ潵鎭㈠璇搷浣滃奖鍝嶇殑鏁版嵁銆?/p>

$ git reflog

1dcfb0f HEAD@{0}: reset: moving to 1dcfb0f
d5640a9 HEAD@{1}: checkout: moving from test to master
1dcfb0f HEAD@{2}: checkout: moving from icehouse to test

$ git reset d5640a9

Git cherry-pick

Git cherry-pick聽鍙粠鍏跺畠鍒嗘敮鎶撳彇 commit 鍚堝叆褰撳墠鍒嗘敮涓紝甯哥敤浜庝粠 upstream 鍚堝叆 patch銆?/p>

$ git cherry-pick -x commit_id

Git rebase

Git rebase聽鏃犵枒鏄渶涓哄鏉傘€佹渶闅句互鐞嗚В锛屽綋鐒朵篃鏄潪甯稿己澶х殑鍛戒护锛屽父鐢ㄤ簬鍚堝苟鍒嗘敮锛屽彲浠ョ畝鍗曠殑鐞嗚В涓轰竴绯诲垪鐨?git cherry-pick锛屽畠鍏锋湁浠ヤ笅鍔熻兘銆?/p>

  • 鍚堝苟鍒嗘敮
  • 閲嶆柊淇敼 Commit锛屽鍚堝苟 commit锛岃皟鏁?commit 鐨勯『搴忋€?/li>

Git rebase 鐢ㄦ硶璇疯聽Git Book锛屼絾鏄娇鐢ㄦ椂锛岃娉ㄦ剰浠ヤ笅鍑嗗垯锛?/p>

The golden rule of git rebase is to never use it on public branches.

相关文章

    暂无相关文章
相关栏目:

用户点评