cvs版本控制的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列懶人包和總整理

cvs版本控制的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦彭超寫的 Maya 2013完全學習手冊 第3次暢銷升級 和蔣鑫的 Git權威指南都 可以從中找到所需的評價。

這兩本書分別來自人民郵電 和機械工業出版社所出版 。

國立臺北科技大學 電子工程系 黃柏鈞所指導 林育新的 具不可否認性版本控制系統 (2021),提出cvs版本控制關鍵因素是什麼,來自於版本控制系統、區塊鏈、非對稱式加密、無循環有向圖。

而第二篇論文國立陽明交通大學 資訊科學與工程研究所 游逸平所指導 李冠程的 使用抽象語法樹偵測有意義之程式碼更動與重複性 (2020),提出因為有 程式碼改動之偵測、抽象語法樹、樹狀資料結構之比對、靜態分析、軟體發展的重點而找出了 cvs版本控制的解答。

接下來讓我們看這些論文和書籍都說些什麼吧:

除了cvs版本控制,大家也想知道這些:

Maya 2013完全學習手冊 第3次暢銷升級

為了解決cvs版本控制的問題,作者彭超 這樣論述:

是「完全學習手冊」系列圖書中的一本。《Maya 2013完全學習手冊》遵循人們的學習規律和方法,精心設計章節內容的講解順序,循序漸進地介紹了Maya 2013的基礎知識、使用方法和范例制作技巧。全書共分4篇16章,內容包括Maya軟件概述、軟件界面布局、NURBS建模、多邊形建模、細分曲面建模、燈光系統、材質系統、渲染系統、動畫控制、骨骼動畫、動力學動畫、特效動畫,以及毛發、布料與MEL語言等內容。隨書附帶的1張DVD光盤包含了書中所有案例的多媒體視頻教學文件、源文件和素材文件。《Maya 2013完全學習手冊》內容豐富、圖文並茂、結構清晰,具有很強的實用性和指導性,不僅適合作為三維動畫制作初

、中級讀者的學習用書,而且也可以作為大、中專院校相關專業及三維動畫培訓班的教材。 第1篇 基礎應用篇 第1章 Maya軟件概述 17 1.1 Maya軟件簡介 18 1.2 Maya版本歷史 18 1.3 Autodesk公司及產品簡介 20 1.3.1 Autodesk公司簡介 20 1.3.2 系列創作軟件產品 20 1.4 Maya新版本 21 1.5 Maya特色模塊 21 1.5.1 MayaComplete模塊 21 1.5.2 MayaUnlimited模塊 21 1.6 Maya主要新特性 22 1.6.1 全新的物理引擎 22 1.6.2 精密的毛發系統

22 1.6.3 加強的ViewPort 22 1.6.4 全新的材質編輯器 23 1.6.5 新增HeatMap蒙皮 23 1.6.6 動畫匹配功能 23 1.6.7 ATOM動畫傳遞 24 1.7 Maya軟件安裝 24 第2章 Maya軟件應用 26 2.1 電影領域的應用 27 2.2 電視領域的應用 27 2.3 游戲領域的應用 27 2.4 設計領域的應用 27 2.5 三維動畫工作流程 28 2.5.1 前期設計 28 2.5.2 故事板設計 28 2.5.3 角色制作 28 2.5.4 場景與道具制作 29 2.5.5 動畫制作 29 2.5.6 燈光制作 29 2.5.7 材

質制作 29 2.5.8 特效制作 29 2.5.9 后期合成 29 第3章 軟件界面布局 30 3.1 軟件布局 31 3.2 菜單欄 31 3.2.1 公共菜單 31 3.2.2 模塊菜單 31 3.2.3 浮動菜單 31 3.3 狀態欄 32 3.3.1 模塊轉換 32 3.3.2 創建保存工具 32 3.3.3 選擇方式 32 3.3.4 吸附工具 32 3.3.5 列表與構建歷史 32 3.3.6 渲染工具 33 3.3.7 隱藏編輯器 33 3.4 工具欄 33 3.4.1 物體工具欄 33 3.4.2 視圖工具欄 33 3.5 視圖區 33 3.5.1 視圖調節 33 3.5.2

視圖轉換 34 3.5.3 視圖菜單 34 3.5.4 視圖控制 34 3.6 時間控制區 34 3.7 命令行 34 3.8 通道與層編輯 35 3.8.1 通道屬性 35 3.8.2 層編輯器 35 3.8.3 渲染層 35 3.8.4 動畫層 35 3.9 公共菜單 36 3.9.1 文件菜單 36 3.9.2 編輯菜單 36 3.9.3 修改菜單 37 3.9.4 創建菜單 38 3.9.5 顯示菜單 38 3.9.6 視窗菜單 38 3.9.7 資源菜單 38 3.10 模塊 39 3.10.1 Animation(動畫)模塊 39 3.10.2 Polygons(多邊形)模塊 3

9 3.10.3 Surfaces(曲面)模塊 39 3.10.4 Dynamics(動力學)模塊 39 3.10.5 Rendering(渲染)模塊 40 3.10.6 nDynamics(動力學)模塊 40 3.10.7 Customize(自定義)模塊 40 第2篇 模型制作篇 第4章 NURBS模型 41 4.1 NURBS曲線 42 4.1.1 CVCurveTool(CVs可控點曲線工具) 42 4.1.2 EPCurveTool(編輯點曲線工具) 42 4.1.3 BezierCurveTool(貝賽爾曲線工具) 42 4.1.4 PencilCurveTool(鉛筆曲線工具)

42 4.1.5 ArcTools(圓弧工具) 42 4.1.6 Text(文字) 43 4.2 曲線編輯級別 43 4.2.1 繪制編輯 43 4.2.2 完成編輯 43 4.3 曲線編輯菜單 43 4.3.1 DuplicateSurfaceCurves(復制曲面曲線) 44 4.3.2 AttachCurves(結合曲線) 44 4.3.3 DetachCurves(分離曲線) 44 4.3.4 AlignCurves(對齊曲線) 44 4.3.5 Open/CloseCurve(開放/閉合曲線) 44 4.3.6 CutCurve(剪切曲線) 44 4.3.7 IntersectCur

ve(相交曲線) 44 4.3.8 CurveFillet(曲線倒角) 44 4.3.9 InsertKnot(插入節點) 45 4.3.10 ExtendCurve(擴展曲線) 45 4.3.11 ExtendCurveOnSurface(擴展曲面曲線) 45 4.3.12 OffsetCurve(偏移曲線) 45 4.3.13 OffsetCurveOnSurface(偏移曲面曲線) 45 4.3.14 ReverseCurveDirection(反轉曲線方向) 45 4.3.15 RebuildCurve(重建曲線) 45 4.3.16 FitB—spline(三次幾何體轉換成線性幾何體

) 45 4.3.17 SmoothCurve(平滑曲線) 45 4.3.18 CVHardness(硬化CV點) 45 4.3.19 AddPointsTool(添加點工具) 45 4.3.20 CurveEditingTool(曲線編輯工具) 45 4.4 NURBS曲面創建 45 4.4.1 Sphere(球) 46 4.4.2 Cube(立方體) 46 4.4.3 Cylinder(圓柱體) 46 4.4.4 Cone(錐形體) 46 4.4.5 Plane(平面) 47 4.4.6 Torus(圓環) 47 4.4.7 Circle(圓形) 47 4.4.8 Square(正方形)

47 4.5 曲面生成 48 4.5.1 Revolve(旋轉) 48 4.5.2 Loft(放樣) 48 4.5.3 Planar(平面) 48 4.5.4 Extrude(擠出) 48 4.5.5 Birail(軌道工具) 49 4.5.6 Boundary(邊界) 49 4.5.7 Square(正方形) 49 4.5.8 Bevel(倒角) 49 4.5.9 BevelPlus(正倒角) 49 4.6 編輯曲面 50 4.6.1 DuplicateNURBSPatches(復制NURBS片) 50 4.6.2 ProjectCurveOnSurface(投射曲線到曲面) 50 4.6.

3 IntersectSurfaces(相交曲面) 50 4.6.4 TrimTool(剪切工具) 50 4.6.5 UntrimSurfaces(撤銷剪切曲面) 50 4.6.6 Booleans(布爾運算) 51 4.6.7 AttachSurfaces(結合曲面) 51 4.6.8 AttachWithoutMoving(連接不移動) 51 4.6.9 DetachSurfaces(分離曲面) 51 4.6.10 AlignSurfaces(對齊曲面) 51 4.6.11 Open/CloseSurfaces(開放/閉合曲面) 51 4.6.12 InsertIsoparm(插入等位結構

線) 51 4.6.13 ExtendSurfaces(擴展曲面) 51 4.6.14 OffsetSurfaces(偏移曲面) 51 4.6.15 ReverseSurfaceDirection(反轉法線方向) 51 4.6.16 RebuildSurfaces(重建曲面) 51 4.6.17 RoundTool(圓角工具) 51 4.6.18 SurfaceFillet(曲面倒角) 51 4.6.19 Stitch(縫合) 52 4.6.20 SculptSurfaceTool(雕刻曲面工具) 52 4.7 范例——骰子模型 53 4.7.1 骰子點制作 53 4.7.2 平滑骰子轉折 5

4 4.7.3 復制骰子模型 55 4.7.4 模型最終渲染 56 4.8 范例——清爽飲料 59 4.8.1 飲料瓶頂部模型制作 59 4.8.2 飲料瓶身模型制作 61 4.8.3 瓶蓋與商標模型制作 64 4.8.4 最終模型渲染輸出 65 第5章 多邊形建模 69 5.1 多邊形幾何體的創建 70 5.1.1 Sphere(球) 70 5.1.2 Cube(立方體) 70 5.1.3 Cylinder(圓柱體) 70 5.1.4 Cone(圓錐體) 71 5.1.5 Plane(平面) 71 5.1.6 Torus(圓環) 71 5.1.7 Prism(棱柱體) 72 5.1.8 Py

ramid(棱錐體) 72 5.1.9 Pipe(圓管) 72 5.1.10 Helix(螺旋體) 73 5.1.11 SoccerBall(足球) 73 5.1.12 PlatonicSolids(柏拉圖多面體) 73 5.2 Select(選擇)菜單 74 5.2.1 Object/Component(物體/部件) 74 5.2.2 Vertex(點) 74 5.2.3 Edge(邊) 74 5.2.4 Face(面) 74 5.2.5 UV(坐標) 74 5.2.6 VertexFace(點面) 74 5.2.7 SelectEdgeLoopTool(選擇循環邊工具) 74 5.2.8

SelectEdgeRingTool(選擇平行邊工具) 74 5.2.9 SelectBorderEdgeTool(選擇邊界邊工具) 74 5.2.10 SelectShortestEdgePathTool(選擇最短路徑邊工具) 74 5.2.11 ConvertSelection(轉換選擇) 75 5.2.12 GrowSelectionRegion(生長選擇區域) 75 5.2.13 ShrinkSelectionRegion(收縮選擇區域) 75 5.2.14 SelectSelectionBoundary(選擇連續邊界) 75 5.2.15 SelectContiguousEdges(

選擇鄰近邊) 75 5.2.16 SelectUsingConstraints(選擇使用參數) 75 5.3 Mesh(網格)菜單 75 5.3.1 Combine(結合) 75 5.3.2 Separate(分離) 76 5.3.3 Extract(擠出) 76 5.3.4 Booleans(布爾運算) 76 5.3.5 Smooth(圓滑) 76 5.3.6 AverageVertices(平均頂點) 77 5.3.7 TransferAttributes(轉移屬性) 77 5.3.8 PaintTransferAttributesWeightsTool(繪制轉移屬性權重工具) 77 5.

3.9 ClipboardActions(剪切板動作) 77 5.3.10 Reduce(減少) 77 5.3.11 PaintReduceWeightsTool(描繪減少權重工具) 77 5.3.12 Cleanup(清除) 77 5.3.13 Triangulate(三角形) 77 5.3.14 Quadrangulate(四邊形) 77 5.3.15 FillHole(填充洞) 78 5.3.16 MakeHoleTool(鑽洞工具) 78 5.3.17 CreatePolygonTool(創建多邊形工具) 78 5.3.18 SculptGeometryTool(幾何體雕刻工具) 78

5.3.19 MirrorCut(鏡像剪切) 78 5.3.20 MirrorGeometry(幾何體鏡像) 78 5.4 EditMesh(編輯網格)菜單 78 5.4.1 KeepFacesTogether(保持面統一) 79 5.4.2 Extrude(擠出) 79 5.4.3 Bridge(橋接) 79 5.4.4 AppendtoPolygonTool(添加到多邊形) 79 5.4.5 CutFacesTool(剪切面工具) 79 5.4.6 InteractiveSplitTool(交互式分割工具) 79 5.4.7 InsertEdgeLoopTool(插入循環邊工具) 80

5.4.8 OffsetEdgeLoopTool(偏移循環邊工具) 80 5.4.9 AddDivisions(添加分割) 80 5.4.10 SlideEdgeTool(滑動邊工具) 80 5.4.11 TransformComponent(變換部件) 80 5.4.12 FlipTriangleEdge(反轉三角格邊) 80 5.4.13 SpinEdgeForward(向前旋轉邊) 80 5.4.14 SpinEdgeBackward(向后旋轉邊) 80 5.4.15 PokeFace(撥開面) 80 5.4.16 WedgeFace(楔入面) 80 5.4.17 DuplicateFa

ce(復制面) 80 5.4.18 ConnectComponents(連接部件) 81 5.4.19 DetachComponent(分離部件) 81 5.4.20 Merge(合並) 81 5.4.21 MergeToCenter(合並到中心) 81 5.4.22 Collapse(塌陷) 81 5.4.23 MergeWertexTool(合並點工具) 81 5.4.24 MergeEdgeTool(合並邊工具) 81 5.4.25 DeleteEdge/Vertex(刪除邊/點) 81 5.4.26 ChamferVertex(斜切頂點) 81 5.4.27 Bevel(倒角) 82

5.4.28 CreaseTool(折痕工具) 82 5.4.29 Removeselected(移除選擇) 82 5.4.30 Removeall(移除全部) 82 5.4.31 CreaseSets(折痕構造) 82 5.4.32 AssighInvisibleFaces(分配隱藏面) 82 5.5 Proxy(代理)菜單 82 5.5.1 SubdivProxy(細分代理) 82 5.5.2 RemoveSubdivProxyMirror(移除細分代理鏡像) 83 5.5.3 CreaseTool(折痕工具) 83 5.5.4 ToggleProxyDisplay(鎖定代理顯示) 83

5.5.5 BothProxyandSubdivDisplay(代理和細分都顯示) 83 5.6 Normals(法線)菜單 83 5.6.1 VertexNormalEditTool(頂點法線編輯工具) 83 5.6.2 SetVertexNormal(設置頂點法線) 83 5.6.3 LockNormal(鎖定法線) 83 5.6.4 UnlockNormal(解鎖法線) 83 5.6.5 AverageNormals(平均法線) 83 5.6.6 SettoFace(設置到面) 83 5.6.7 Reverse(反轉) 83 5.6.8 Conform(統一) 83 5.6.9 Soft

enEdge(軟邊) 84 5.6.10 HardenEdge(硬邊) 84 5.6.11 SetNormalAngle(設置法線角度) 84 5.7 Color(顏色)菜單 84 5.7.1 PrelightMaya(每一個燈光) 84 5.7.2 AssignNewVertexBakeSet(分配新的頂點烘焙) 84 5.7.3 AssignExistingBakeSet(分配目前烘焙) 84 5.7.4 EditAssignedBakeSet(編輯分配烘焙設置) 84 5.7.5 CreateEmptyColorSet(創建空的顏色) 84 5.7.6 DeleteCurrentColo

rSet(刪除現在的顏色) 84 5.7.7 RenameCurrentColorSet(現在的顏色重命名) 84 5.7.8 ModifyCurrentColorSet(修改現在的顏色) 84 5.7.9 ColorSetEditor(編輯顏色) 84 5.7.10 SetKeyframeforVertexColor(鎖定到頂點顏色) 84 5.7.11 ApplyColor(添加顏色) 85 5.7.12 PaintVertexColorTool(油漆頂點顏色工具) 85 5.7.13 ToggleDisplayColorsAttribute(鎖定顯示顏色屬性) 85 5.7.14 Col

orMaterialChannel(顏色材質通道) 85 5.7.15 MaterialBlendSetting(材質混合設置) 85 5.7.16 PerInstanceSharing(共用每一個實例) 85 5.8 CreateUVs(創建貼圖坐標)菜單 85 5.8.1 PlanarMapping(平面映射) 85 5.8.2 CylindricalMapping(圓柱映射) 85 5.8.3 SphericalMapping(球形映射) 86 5.8.4 AutomaticMapping(自動映射) 86 5.8.5 CreateUVsBasedOnCamera(基於攝影機創建UVs)

86 5.8.6 BestPlaneTexturingTool(貝斯平面紋理工具) 86 5.8.7 AssignShadertoEachProjection(分配到每一個投射材質) 86 5.8.8 CreateEmptyUVSet(創建空的UV) 86 5.8.9 CopyUVstoUVSet(復制UVs至UV) 86 5.8.10 SetCurrentUVSet(通用UV) 86 5.8.11 RenameCurrentUVSet(通用UV重命名) 86 5.8.12 DeleteCurrentUVSet(刪除通用UV) 86 5.8.13 UVSetEditor(編輯UV) 86 5

.8.14 PerInstanceSha ring(分配每一個實例) 86 5.9 EditUVs(編輯坐標)菜單 86 5.9.1 Normallze(正常) 86 5.9.2 Unititze(統一) 86 5.9.3 Flip(反轉) 87 5.9.4 Rotate(旋轉) 87 5.9.5 Layoutrectangle(矩形布局) 87 5.9.6 Grid(格子) 87 5.9.7 Align(對齊) 87 5.9.8 WarpImage(彎曲圖像) 87 5.9.9 MapUVBorder(貼圖UV邊界) 87 5.9.10 StraightenUVBorder(變直UV邊界)

87 5.9.11 Relax(松弛) 87 5.9.12 Unfold(展開) 87 5.9.13 Layout(布局) 87 5.9.14 CutUVEdges(切割UV邊緣) 87 5.9.15 SplitUVs(粘接UVs) 87 5.9.16 SewUVEdges(縫合UV邊) 87 5.9.17 MoveandSewUVEdges(移動和縫合UV邊) 87 5.9.18 MergeUVs(合並UVs) 87 5.9.19 DeleteUVs(刪除UVs) 87 5.9.20 UVTextureEditor(UV紋理編輯) 88 5.10 范例——卡通海馬 88 5.10.1 海馬頭

部制作 88 5.10.2 海馬身體制作 90 5.10.3 海馬四肢制作 92 5.10.4 海馬模型最終輸出 94 5.11 范例——科技飛艇 97 5.11.1 飛艇機身模型制作 97 5.11.2 飛艇控制器模型制作 103 5.11.3 飛艇座椅模型制作 109 5.11.4 最終飛艇模型渲染 112 第6章 細分曲面建模 116 6.1 細分曲面創建 117 6.1.1 Sphere(球) 117 6.1.2 Cube(立方體) 117 6.1.3 Cylinder(圓柱體) 117 6.1.4 Cone(圓錐體) 118 6.1.5 Plane(平面) 118 6.1.6 Tor

us(圓環) 118 6.2 細分曲面修改 118 6.2.1 SubdivCompomentDisplay(細分多目標顯示) 118 6.2.2 SubdivSurfaceDisplay(細分曲面顯示) 119 6.3 細分曲面編輯 119 6.3.1 編輯操作 119 6.3.2 顯示指定層 119 6.3.3 優先當前顯示層 119 6.3.4 粗糙顯示層 119 6.3.5 顯示細分曲面平滑度 120 6.4 細分曲面菜單 120 6.4.1 Texture(紋理) 120 6.4.2 FullCreaseEdge/Vertex(創建褶皺邊/點) 120 6.4.3 PartialCr

easeEdge/Vertex(部分褶皺邊/點) 120 6.4.4 UncreaseEdge/Vertex(取消邊/點褶皺) 121 6.4.5 Mirror(鏡像) 121 6.4.6 Attach(結合) 121 6.4.7 MatchTopology(匹配拓撲) 121 6.4.8 CleanTopology(清除拓撲) 121 6.4.9 CollapseHierarchy(塌陷級別) 121 6.4.10 StandardMode(標准模式) 121 6.4.11 PolygonProxyMode(多邊形代理模式) 122 6.4.12 SculptGeometryTool(雕刻幾

何體工具) 122 6.4.13 ConvertSelectiontoFaces(顯示選擇物體的面) 122 6.4.14 ConvertSelectiontoEdges(顯示選擇物體的邊) 122 6.4.15 ConvertSelectiontoVertices(顯示選擇物體的點) 122 6.4.16 ConvertSelectiontoUVs(顯示選擇物體的UV) 122 6.4.17 RefineSelectedComponents(精練選擇部分) 122 6.4.18 SelectCoarserComponents(選擇粗糙部件) 123 6.4.19 ExpandSelected

Components(擴大選擇部件) 123 6.4.20 ComponentDisplayLevel(部件顯示層) 123 6.4.21 ComponentDisplayFilter(部件顯示過濾) 123 6.5 細分曲面轉換 123 6.5.1 SubdivtoPolygons(細分曲面轉換成多邊形) 123 6.5.2 SubdivtoNURBS(細分曲面轉換成NURBS) 123 6.6 范例——MP3播放器 123 6.6.1 機身模型制作 124 6.6.2 屏幕與按鍵制作 127 6.6.3 耳機模型制作 130 6.6.4 最終渲染設置 135 6.7 范例——監控攝像頭 1

37 6.7.1 攝像頭底座制作 138 6.7.2 攝像頭支架制作 144 6.7.3 攝像頭機身制作 146 6.7.4 最終渲染設置 150 第3篇 渲染設置篇 第7章 燈光系統 151 7.1 燈光的創建 152 7.1.1 AmbientLight(環境光) 152 7.1.2 DirectionalLight(平行光) 152 7.1.3 PointLight(點光源) 153 7.1.4 SpotLight(聚光燈) 153 7.1.5 AreaLight(區域光) 154 7.1.6 VolumeLight(體積光) 154 7.2 燈光參數設置 154 7.2.1 SpotL

ightAttributes(聚光燈屬性) 154 7.2.2 環境屬性控制 155 7.3 燈光霧效 155 7.3.1 燈光霧效參數 155 7.3.2 霧效參數 155 7.3.3 增加霧效 155 7.4 燈光輝光 156 7.4.1 OpticalFXAttributes(光學特效屬性) 156 7.4.2 GlowAttributes(輝光屬性) 156 7.4.3 HaloAttributes(光環屬性) 156 7.4.4 LensFlareAttributes(鏡頭光斑屬性) 156 7.5 燈光陰影 157 7.5.1 DepthMapShadowAttributes(深度

貼圖陰影屬性) 157 7.5.2 RaytraceShadowAttributes(光線跟蹤陰影屬性) 157 7.6 范例——畫桌場景 157 7.6.1 場景模型導入 158 7.6.2 場景主光設置 159 7.6.3 輔助光源設置 160 7.6.4 最終場景輸出 162 7.7 范例——陽光書桌 163 7.7.1 導入場景模型 164 7.7.2 場景主光設置 165 7.7.3 輔助光源設置 166 7.7.4 場景最終輸出 169 第8章 材質系統 170 8.1 材質的創建 171 8.1.1 Anisotropic各向異性材質 171 8.1.2 Blinn材質 171

8.1.3 HairTubeShader毛發管狀材質 171 8.1.4 Lambert蘭伯特材質 172 8.1.5 LayeredShader分層材質 172 8.1.6 OceanShader海洋材質 172 8.1.7 Phong材質 172 8.1.8 PhongE材質 172 8.1.9 RampShader漸變材質 172 8.1.10 ShadingMap保留陰影貼圖材質 172 8.1.11 SurfaceShader表面材質 173 8.1.12 UseBackground使用背景材質 173 8.2 材質屬性 173 8.3 材質的公共屬性 173 8.3.1 Commo

nMaterialAttributes(公共材質屬性) 173 8.3.2 SpecialEffects(特殊效果) 173 8.3.3 MatteOpacity(遮罩透明度) 174 8.3.4 RaytraceOptions(光線跟蹤選項) 174 8.4 材質的高光反射 174 8.4.1 Anisotropic(各向異性)材質 174 8.4.2 Blinn材質 174 8.4.3 Phong材質 174 8.4.4 PhongE材質 174 8.5 紋理的創建 174 8.6 2D紋理的調節 175 8.6.1 紋理的公共屬性 175 8.6.2 Bulge(凸出) 175 8.6.

3 Checker(棋盤格) 175 8.6.4 Cloth(布料) 175 8.6.5 File(文件) 176 8.6.6 FluidTexture2D(2D流動紋理) 176 8.6.7 Fractal(碎片) 176 8.6.8 Grid(網格) 176 8.6.9 Mountain(山脈) 176 8.6.10 Movie(電影) 176 8.6.11 Noise(噪波) 176 8.6.12 Ocean(海洋) 177 8.6.13 PSDFile(PSD文件) 177 8.6.14 Ramp(漸變) 177 8.6.15 Water(水) 177 8.6.16 2D紋理的位置參數

177 8.7 3D紋理 178 8.7.1 Brownian(布朗) 178 8.7.2 Cloud(雲) 178 8.7.3 Crater(彈坑) 178 8.7.4 FluidTexture3D(三維流動紋理) 178 8.7.5 Granite(花崗岩) 179 8.7.6 Leather(皮革) 179 8.7.7 Marble(大理石) 179 8.7.8 Rock(岩石) 179 8.7.9 Snow(雪) 179 8.7.10 SolidFractal(立體碎片) 179 8.7.11 Stucco(污跡) 179 8.7.12 VolumeNoise(體積噪波) 179 8

.7.13 Wood(木紋) 180 8.7.14 3D紋理的位置參數 180 8.8 普通節點 180 8.8.1 AddDoubleLinear(添加復線)節點 180 8.8.2 AddMatrix(添加基質)節點 180 8.8.3 AngleBetween(角度之間)節點 180 8.8.4 ArrayMapper(陣列映射)節點 180 8.8.5 BlendColors(混合顏色)節點 181 8.8.6 BlendTwoAttr(雙重混合屬性)節點 181 8.8.7 Bump2D(2D凹凸)節點 181 8.8.8 Bump3D(3D凹凸)節點 181 8.8.9 Choic

e(選擇)節點 181 8.8.10 Chooser(選擇者)節點 181 8.8.11 Clamp(夾子)節點 181 8.8.12 ColorProfile(顏色輪廓)節點 181 8.8.13 Condition(條件)節點 181 8.8.14 Contrast(對比度)節點 181 8.8.15 CurveInfo(曲線信息)節點 182 8.8.16 DecomposeMatrix(分節基質)節點 182 8.8.17 DistanceBetween(之間距離)節點 182 8.8.18 DoubleSwitch(雙重轉換)節點 182 8.8.19 FrameCache(框架隱藏

)節點 182 8.8.20 GammaCorrect(伽馬校正)節點 182 8.8.21 HeightField(高度場)節點 182 8.8.22 HsvToRgb(HSV轉換為RGB)節點 182 8.8.23 LightInfo(燈光信息)節點 182 8.8.24 Luminance(亮度)節點 182 8.8.25 MultDoubleLinear(多重線)節點 183 8.8.26 MultiplyDivide(乘除)節點 183 8.8.27 ParticleSampler(粒子采樣)節點 183 8.8.28 +/—Average(加/減/平均值)節點 183 8.8.29

Projection(投射)節點 183 8.8.30 QuadSwitch(方形轉換)節點 183 8.8.31 RemapColor(重定顏色)節點 183 8.8.32 RemapHsv(重定HSV)節點 183 8.8.33 RemapValue(重定亮度)節點 184 8.8.34 Reverse(反轉)節點 184 8.8.35 RgdToHsv(RGB轉換為HSV)節點 184 8.8.36 SamplerInfo(采樣信息)節點 184 8.8.37 SetRange(控制范圍)節點 184 8.8.38 SingleSwitch(單一開關)節點 184 8.8.39 Sme

ar(塗抹)節點 184 8.8.40 Stencil(模板)節點 184 8.8.41 StudioClearCoat(光亮圖層)節點 185 8.8.42 SurfaceInfo(曲面信息)節點 185 8.8.43 Surf.Luminance(表面照明)節點 185 8.8.44 TripleSwitch(三倍開關)節點 185 8.8.45 UnitConversion(單位轉換)節點 185 8.8.46 UvChooser(UV選擇)節點 185 8.8.47 VectorProduct(矢量輸出)節點 185 8.9 范例——廢舊油燈 185 8.9.1 場景模型導入 186

8.9.2 廢舊金屬材質調節 187 8.9.3 燈罩玻璃材質調節 191 8.9.4 場景最終輸出 195 8.10 范例——燃燒的蠟燭 195 8.10.1 導入場景模型 196 8.10.2 蠟燭火焰材質的調節 198 8.10.3 蠟燭材質調節 202 8.10.4 場景最終輸出 205 8.11 范例——床頭燈 206 8.11.1 場景燈光設置 207 8.11.2 燈罩材質調節 208 8.11.3 金屬底座材質調節 214 8.11.4 最終場景渲染 216 第9章 渲染系統 219 9.1 渲染設置 220 9.1.1 渲染設置的位置 220 9.1.2 渲染公共控制 220

9.2 軟件渲染 221 9.2.1 Anti—aliasingQuality(抗鋸齒品質)欄 221 9.2.2 FieldOptions(場選項)欄 222 9.2.3 RaytracingQuality(光線跟蹤品質)欄 222 9.2.4 MotionBlur(運動模糊)欄 222 9.2.5 IPROptions(IPR選項)欄 223 9.3 硬件緩沖渲染 223 9.3.1 硬件渲染窗口 223 9.3.2 ImageOutputFiles(圖像文件輸出)欄 223 9.3.3 RenderModes(渲染模式)欄 224 9.3.4 Multi—PassRenderOptio

ns(多重途徑渲染選項)欄 224 9.3.5 DisplayOptions(顯示選項)欄 224 9.4 硬件渲染 225 9.4.1 Quality(質量)欄 225 9.4.2 RenderOptions(渲染選項)欄 225 9.5 矢量渲染 226 9.5.1 AppearanceOptions(外觀選項)欄 226 9.5.2 FillOptions(填充選項)欄 226 9.5.3 EdgeOptions(邊選項)欄 227 9.5.4 RenderOptimizations(渲染優化)欄 227 9.6 渲染輸出 227 9.6.1 預覽渲染輸出 227 9.6.2 最終渲染

227 9.7 mentalray渲染 228 9.7.1 QualityPresets(質量預覽)欄 228 9.7.2 Anti—aliasingQuality(反鋸齒質量)欄 228 9.7.3 Raytracing(光線追蹤)欄 228 9.7.4 Shadows(陰影)欄 229 9.7.5 MotionBlur(運動模糊)欄 229 9.7.6 IndirectLighting(間接照明)欄 229 9.7.7 FinalGathering(最終聚焦)欄 230 9.8 范例——高貴威士忌 230 9.8.1 場景模型導入 231 9.8.2 酒瓶材質調節 233 9.8.3 酒杯

與冰塊材質調節 237 9.8.4 場景渲染輸出 240 9.9 范例——畫廊場景 241 9.9.1 導入場景模型 242 9.9.2 牆壁與油畫材質調節 244 9.9.3 護欄與簡介牌材質調節 246 9.9.4 場景渲染輸出 249 第4篇 動畫特效篇 第10章 動畫控制 251 10.1 動畫記錄控制 252 10.1.1 時間滑塊 252 10.1.2 范圍滑塊 252 10.1.3 動畫控制器 252 10.1.4 動畫設置 252 10.1.5 時間滑塊設置 253 10.1.6 預覽動畫設置 253 10.1.7 關鍵幀設置 254 10.1.8 編輯關鍵幀 254 10.1

.9 圖表編輯 254 10.2 路徑動畫 256 10.2.1 運動路徑位置 256 10.2.2 SetMotionPathKey(設置運動路徑關鍵幀) 256 10.2.3 AttachtoMotionPath(結合到運動路徑) 256 10.2.4 FlowPathObject(物體跟隨路徑) 257 10.3 變形動畫 257 10.3.1 BlendShape(混合變形) 257 10.3.2 Lattice(晶格) 258 10.3.3 Wrap(包裹) 258 10.3.4 Cluster(簇) 258 10.3.5 Nonlinear(非線性) 259 10.3.6 Scul

ptDeformer(雕刻變形) 260 10.3.7 JiggleDeformer(搖晃變形) 260 10.3.8 WireTool(線變形工具) 260 10.3.9 WrinkleTool(褶皺變形工具) 260 10.4 編輯變形 261 10.4.1 BlendShape(混合形狀) 261 10.4.2 Lattice(晶格) 262 10.4.3 Wrap(包裹) 262 10.4.4 Wire(線) 262 10.4.5 Paint(繪畫) 262 10.5 范例——滑板運動 263 10.5.1 導入模型 264 10.5.2 路徑動畫制作 265 10.5.3 關鍵幀制作

266 10.5.4 攝影機動畫制作 267 10.6 范例——小球彈跳 268 10.6.1 導入場景 269 10.6.2 驅動關鍵幀制作 270 10.6.3 關鍵幀制作 271 10.6.4 變形動畫制作 274 第11章 骨骼動畫 277 11.1 創建骨骰 278 11.1.1 JointTool(關節工具) 278 11.1.2 IKHandleSettings(IK手柄設置) 278 11.1.3 編輯骨骼工具 278 11.1.4 編輯關節屬性 280 11.2 綁定骨骼 280 11.2.1 SmoothBind(平滑綁定) 280 11.2.2 InteractiveS

kinBind(交互蒙皮綁定) 281 11.2.3 RigidBind(剛體綁定) 281 11.2.4 DetachSkin(分離綁定) 281 11.2.5 GotoBindPose(定位到綁定姿式) 281 11.3 編輯平滑蒙皮 282 11.3.1 AddInfluence(添加影響) 282 11.3.2 RemoveInfluence(移除影響) 282 11.3.3 SetMaxInfluences(設置最大影響) 282 11.3.4 MoveSkinnedJointsTool(移動關節蒙皮工具) 282 11.3.5 InteractiveSkinBkinTool(交互蒙

皮綁定工具) 282 11.3.6 PaintSkinWeightsTool(繪制蒙皮權重工具) 282 11.3.7 ExportSkinWeightsMaps(導出蒙皮權重貼圖) 282 11.3.8 ImportSkinWeightsMaps(導入蒙皮權重貼圖) 282 11.3.9 MirrorSkinWeights(鏡像蒙皮權重) 283 11.3.10 CopySkinWeights(復制蒙皮權重) 283 11.3.11 SmoothSkinWeights(平滑綁定權重) 283 11.3.12 WeightHammer(錘打權重) 283 11.3.13 CopyVertexW

eights(復制頂點權重) 283 11.3.14 PasteVertexWeights(粘貼頂點權重) 283 11.3.15 MoveWeightstoInfluences(移動權重到影響) 283 11.3.16 ResetWeightsToDefault(重設權重為默認值) 283 11.3.17 PruneSmallWeights(剪除較小權重) 283 11.3.18 RemoveUnusedInfluences(移除未使用權重) 283 11.3.19 DisableWeightsNormalization(禁用權重規格化) 283 11.3.20 EnableWeightsN

ormalization(啟用權重規格化) 283 11.3.21 EnableWeightsPostNormalization(啟用權重姿勢規格化) 283 11.3.22 NormalizeWeights(規格化權重) 283 11.3.23 SubstituteGeometry(替代幾何體) 283 11.3.24 編輯平滑蒙皮參數 283 11.4 編輯剛體蒙皮 284 11.4.1 CreateFlexor(創建屈肌) 284 11.4.2 CopyFlexor(復制屈肌) 284 11.4.3 ReassignBoneLatticeJoint(重新指定骨骼晶格關節) 284 11.

4.4 PreserveSkinGroups(保持綁定組) 284 11.5 約束 284 11.5.1 Point(點)約束 284 11.5.2 Aim(目標)約束 285 11.5.3 Orient(方向)約束 285 11.5.4 Scale(縮放)約束 285 11.5.5 Parent(連接)約束 285 11.5.6 Geometry(幾何體)約束 285 11.5.7 Normal(法線)約束 285 11.5.8 Tangent(切線)約束 286 11.5.9 PointOnPoly(點在多邊形)約束 286 11.5.10 ClosestPoint(靠近點)約束 286

11.5.11 PoleVector(極矢量)約束 286 11.6 范例——抓球機器 286 11.6.1 導入模型 287 11.6.2 驅動與抓臂動畫制作 288 11.6.3 抓手動畫制作 292 11.6.4 球體約束動畫制作 293 11.7 范例——角色骨骼 294 11.7.1 角色骨骼創建 295 11.7.2 虛擬物體創建 297 11.7.3 約束與綁定 300 11.7.4 最終效果 305 第12章 動力學動畫 307 12.1 力學場 308 12.1.1 Air(空氣場) 308 12.1.2 Drag(拖動場) 309 12.1.3 Gravity(重力場) 3

09 12.1.4 Newton(牛頓場) 309 12.1.5 Radial(放射場) 309 12.1.6 Turbulence(振盪場) 309 12.1.7 Uniform(統一場) 310 12.1.8 Vortex(旋渦場) 310 12.1.9 VolumeAxis(體積軸場) 310 12.2 剛體 310 12.2.1 創建剛體 310 12.2.2 編輯剛體 311 12.2.3 編輯剛體解算器 311 12.2.4 關鍵幀與動力學動畫 312 12.3 柔體 312 12.3.1 創建柔體 312 12.3.2 PaintSoftBodyWeightsTool(繪畫柔體權

重工具) 312 12.4 彈簧 313 12.5 剛體約束 313 12.5.1 Nail(釘約束) 313 12.5.2 Pin(銷約束) 314 12.5.3 Hinge(鉸鏈約束) 314 12.5.4 Spring(彈簧約束) 314 12.5.5 Barrier(屏障約束) 314 12.5.6 編輯約束屬性 314 12.6 粒子系統 314 12.6.1 創建粒子 314 12.6.2 編輯粒子屬性 315 12.6.3 創建Instance(代替)粒子 317 12.6.4 粒子發射器 317 12.6.5 發射器屬性 318 12.7 特效 319 12.7.1 Fire(

火焰) 319 12.7.2 Smoke(煙霧) 320 12.7.3 Fireworks(煙花) 320 12.7.4 Lightning(閃電) 321 12.7.5 Shatter(碎片) 322 12.7.6 CurveFlow(曲線流動) 322 12.7.7 SurfaceFlow(曲面流動) 322 12.8 范例——打靶場景 323 12.8.1 導入場景模型 324 12.8.2 創建粒子發射器 325 12.8.3 制作碰撞再生 326 12.8.4 創建粒子替代 328 12.9 范例——馬車運動 330 12.9.1 動力學模擬 330 12.9.2 創建約束與動畫 3

32 12.9.3 建立子父物體連接 334 12.9.4 最終動畫輸出 335 第13章 特效動畫 338 13.1 畫筆特效 339 13.1.1 畫筆特效工具參數 339 13.1.2 創建2D畫筆特效 339 13.1.3 創建3D畫筆特效 340 13.1.4 筆划路徑 340 13.2 畫筆特效設置 341 13.2.1 通道與畫筆輪廓 341 13.2.2 陰影與管形陰影 341 13.2.3 其他畫筆屬性 342 13.3 流體特效 342 13.3.1 流體容器 343 13.3.2 流體容器設置 343 13.3.3 添加流體效果 343 13.3.4 編輯流體 343 1

3.3.5 流體屬性設置 344 13.3.6 流體發射器屬性 346 13.4 海洋特效 347 13.4.1 創建海洋 347 13.4.2 海洋預覽平面 347 13.4.3 創建振幅 347 13.4.4 添加漂浮物 347 13.4.5 添加定位器 347 13.5 范例——書寫標志 348 13.5.1 繪制文字曲線 349 13.5.2 調節曲線變形動畫 350 13.5.3 添加熒光特效 351 13.5.4 渲染最終動畫 355 13.6 范例——閃電場景 357 13.6.1 導入場景模型 358 13.6.2 樓房特效繪制 359 13.6.3 天空特效繪制 362 13

.6.4 雷電特效繪制 365 第14章 毛發系統 367 14.1 創建毛發 368 14.1.1 毛發創建 368 14.1.2 毛發實例創建 368 14.2 編輯毛發 369 14.2.1 ScaleHairTool(縮放毛發工具) 369 14.2.2 PaintHairFollicles(過濾毛發畫筆) 369 14.2.3 毛發屬性編輯 369 14.3 毛發約束 369 14.3.1 RubberBand(合成摩擦) 369 14.3.2 Transform(轉換) 369 14.3.3 Stick(粘貼) 370 14.3.4 HairtoHair(毛發到毛發) 370 14

.3.5 HairBunch(毛發成束) 370 14.3.6 CollideSphere(球形碰撞) 370 14.3.7 CollideCube(盒形碰撞) 370 14.4 毛發碰撞 370 14.4.1 創建毛發碰撞 370 14.4.2 調節毛發碰撞 370 14.5 范例——衛生角 371 14.5.1 場景燈光制作 371 14.5.2 場景材質調節 373 14.5.3 創建毛發 375 14.5.4 修改毛發屬性 376 14.6 范例——拂塵動畫 378 14.6.1 場景模型導入 379 14.6.2 模型材質調節 380 14.6.3 創建毛發 381 14.6.4 毛

發參數調節 382 第15章 布料系統 385 15.1 布料 386 15.1.1 創建布料 386 15.1.2 編輯布料 386 15.1.3 布料碰撞 386 15.2 布料場 386 15.2.1 Air(空氣)場 387 15.2.2 Drag(拖動)場 387 15.2.3 Gravity(重力)場 387 15.2.4 Newton(牛頓)場 387 15.2.5 Radial(放射)場 387 15.2.6 Turbulence(振盪)場 387 15.2.7 Uniform(統一)場 387 15.2.8 Vortex(旋渦)場 387 15.2.9 VolumeAxis(

體積軸)場 387 15.3 布料約束 387 15.3.1 Transform(轉換) 387 15.3.2 ComponenttoComponent(成分到成分) 387 15.3.3 PointtoSurface(點到曲面) 388 15.3.4 SlideonSurface(邊在曲面) 388 15.3.5 WeldAdjacentBorders(焊接鄰近邊界) 388 15.3.6 ForceField(強制場) 388 15.3.7 AttracttoMatchingMesh(吸力到匹配網格) 388 15.3.8 TearableSurface(破縫曲面) 388 15.3.9

DisableCollision(喪失碰撞) 388 15.3.10 ExcludeCollidePairs(拒絕兩個碰撞) 388 15.3.11 RemoveDynamicConstraint(移除動力學約束) 388 15.3.12 nConstraintMembershipTool(n約束成員工具) 388 15.3.13 SelectMembers(選擇成員) 388 15.3.14 ReplaceMembers(替代成員) 388 15.3.15 AddMembers(添加成員) 388 15.3.16 RemoveMembers(移除成員) 388 15.4 范例——絲綢飄動 3

89 15.4.1 場景模型創建 389 15.4.2 材質燈光調節 392 15.4.3 創建布料 394 15.4.4 布料動畫調節 395 15.5 范例——舞台場景 398 15.5.1 導入場景模型 399 15.5.2 創建布料 399 15.5.3 添加布料約束 400 15.5.4 約束動畫制作 401 第16章 MEL語言 404 16.1 MEL簡介與應用 405 16.1.1 腳本編輯 405 16.1.2 表達式 405 16.1.3 表達式的應用 405 16.2 MEL的功能 405 16.2.1 語言按鈕 405 16.2.2 語言編寫 405 16.2.3 語言

運算 406 16.3 MEL的使用 406 16.3.1 MEL語言的使用 406 16.3.2 MEL指令的使用 406 16.3.3 表達式的應用 407 16.3.4 表達式的創建 407

具不可否認性版本控制系統

為了解決cvs版本控制的問題,作者林育新 這樣論述:

版本控制是文件共享、交換、以及協作的關鍵技術之一。當前,已有許多版本控制的軟體系統可用,諸如Concurrent Versioning System (CVS)、Subversion (SVN)、以及Git等。現有之版本控制系統可建立在自行維護的伺服器上,亦或以雲端服務的形式提供給使用者。然而,這些中心化的版本控制系統架構往往使得版本控制系統無法提供中立、未經審查、過濾的服務。尤有甚者,中心化的系統架構易受分布式服務阻斷等惡意攻擊。此外,現有之版本控制系統無法高效的驗證共享文件的各個更新版的作者。有鑑於此,在本研究中,我們將區塊鏈與非對稱加密技術整合到Git等版本控制系統中。利用區塊鏈作者的

不可否認性以及非對稱式加密的零知識證明,我們可以保證所有寫入Git檔案庫的更動都不會被Git維護者等人惡意篡改,且檔案庫的所有更動的作者都可被其他人驗證與追蹤。為了降低資料與作者驗證的效能負荷,我們還提出將傳統線性的區塊鏈結構擴充為無循環有向圖的區塊結構,使得不同分支不會互相影響,而可獨立被驗證與追蹤。藉由一系列實驗,我們驗證了所提出系統設計的可行性與有效性,結果令人滿意。

Git權威指南

為了解決cvs版本控制的問題,作者蔣鑫 這樣論述:

一場版本控制的變革正在悄然發生。當很多人還將版本控制系統的笨拙和乏味視為理所當然時(“版本庫遠在服務器端,這麼多人與它交互,速度慢或被限制也很自然啊”).Git卻扛著分布式版本控制系統的大旗席卷整個開源社區,正搶佔著原本屬于Subversion等集中式版本控制系統的領地。除了Git本身和LinuxKernel使用Git作為版本控制系統之外,Android、jOuery、Prototype、Perl、Eclipse、Gnome、KDE、Qt、RoR、PostgreSQL、Debian和×.org等著名的開源項目也都先後投向了Git的懷抱。遷移版本庫是一件讓人痛苦的事情,但是這種陣痛很快就會被新生

的愉悅所取代,一個個歷史悠久的開源項目都因為Git煥發了青春——開發力量成倍增加,開發進度大大加快。 Git為什麼會有如此大的魔力呢?本書從基本操作和使用、團隊協作、設計原理、使用模式、版本庫遷移和服務器架設等數十個方面對Git進行了全方位的講解,將Git的功能、特性、使用方法和原理等闡述得淋灕盡致。通過本書,你不僅能了解到它在開源社區如此風靡的原因,而且幾乎能解答你在實際學習和使用中遇到的各種問題。 如果你是一位軟件開發者,學習和使用Git吧,開源社區會為你敞開大門。當你的團隊的所有成員都能自如地駕馭Git的時候,項目管理將發生質的飛躍。 本書是Git領域的集大

成之作,是一本關于Git的百科全書,在廣度、深度和實戰性上讓同類作品望塵莫及。作者是國內頂尖的版本控制專家和咨詢顧問之一,本書得到了Git官方維護者Junio C Hamano和ITeye創始人範凱(Robbin)先生等數位專家的高度認可和極力推薦,權威性毋庸置疑。 全書一共9篇,共41章和4個附錄,內容幾乎涵蓋了Git的所有方面。第1篇介紹了版本控制工具的演變歷史、Git的各種優點,以及它在3種主流操作系統中的安裝與配置。第2篇和第3篇既是本書的基礎,又是本書的核心,不僅介紹了Git的操作和使用,而且還講解了Git的原理。第2篇詳細講解了個人用戶如何使用Git,包括Git初始化、日

常操作、暫存區、對象、重置、檢出、恢復進度、歷史變更、克隆、庫管理等;第3篇詳細講解了Git協議和團隊如何使用Git,包括Git支持的協議、沖突解決、里程碑、分支、遠程版本庫和補丁文件交互等。第4篇全面介紹了Git的協同模型,即它在實際工作中的使用模式,包括各種經典的Git協同模型、Topgit協同模型、子模組協同模型、子樹合並、Android多版本庫協同、Git與SVN協同模型等。第5篇介紹了Git服務器的架設,首先講解了HTTP協議、Git協議、SSH協議的使用,然後講解了Gitolite、Gitosis、Gerrit等服務器的架設方法,最後還講解了Git版本庫的托管。第6篇介紹了版本庫的

遷移,包括如何從CVS、SVN、Hg等版本庫遷移到Git,以及Git版本庫整理等方面的內容。第7篇講解了Git的其他應用,包括etckeeper、Gistore等的安裝、配置和使用,以及補丁中的二進制文件和雲存儲等內容。第8篇介紹了Git的跨平台操作,以及它的鉤子和模板、稀疏檢出和淺克隆、嫁接和替換等重要特性。第9篇是附錄,詳細給出了Git的命令索引,以及CVS、SVN和Hg與Git的比較與命令對照,方便讀者查閱。 蔣鑫,國內頂尖的版本控制專家和咨詢顧問之一,對Subversion和Git等版本控制工具有十分深入的研究,參與了Git以及Gitosis、Gitolite、Repo、T

opgit、Gistore等與Git相關的開源軟件的開發或創建,在大量實踐中積累了豐富的經驗。此外,他還是一位開源軟件實踐者,作為北京群英匯信息技術有限公司的創始人兼高級顧問,一直從事開源軟件的定制以及面向研發團隊的項目管理軟件的推廣和顧問咨詢工作,致力于推動開源軟件在中國的發展。 前言 第1篇 初識Git 第1章 版本控制的前世和今生 1.1 黑暗的史前時代 1.2 CVS——開啟資本控制大爆發 1.3 SVN——集中式版本控制集大成者 1.4 Git——Linus的第二個偉大作品 第2章 愛上Git的理由 2.1 每日工作備份 2.2 異地協

同工作 2.3 現場版本控制 2.4 避免引入輔助目錄 2.5 重寫提交說明 2.6 想吃後悔藥 2.7 更好用的提交列表 2.8 更好的差異比較 2.9 工作進度保存 2.10 代理SVN提交實現移動式辦公 2.11 無處不在的分頁器 第3章 Git的安裝和使用 3.1 在Linux下安裝和使用Git 3.1.1 包管理器方式安裝 3.1.2 從源代碼進行安裝 3.1.3 從Git版本庫進行安裝 3.1.4 命令補齊 3.1.5 中文支持 3.2 在Mac OS X下安裝和使用 3.2.1 以二進制發布包的方式

安裝 3.2.2 安裝Xcode 3.2.3 使用Homebrew安裝 3.2.4 從Git源碼進行安裝 3.2.5 命令補齊 3.2.6 其他輔助工具的安裝 3.2.7 中文支持 3.3 在Windows下安裝和使用Git(Cygwin篇) 3.3.1 安裝Cygwin 3.3.2 安裝Git 3.3.3 Cygwin的配置和使用 3.3.4 Cygwin下Git的中文支持 3.3.5 Cygwin下Git訪問SSH服務 3.4 Windows下安裝和使用Git(msysGit篇) 3.4.1 安裝msysGit

3.4.2 myssGit的配置和使用 3.4.3 msysGit中shell環境的中文支持 3.4.4 msysGit中Git的中文支持 3.4.5 使用SSH協議 3.4.6 TortoiseGit的安裝和使用 3.4.7 TortoiseGit的中文支持 第2篇 Git獨奏 第4章 Git初始化 第5章 Git暫存區 第6章 Git對象 第7章 Git重置 第8章 Git檢出 第9章 恢復進度 第10章 Git基本操作 第11章 歷史穿梭 第12章 改變歷史 第13章 Git克隆 第14章 Git庫管理 第

3篇 Git和聲 第15章 Git協議與工作協同 第16章 沖突解決 第17章 Git里程碑 第18章 Git分支 第19章 遠程版本庫 第20章 補丁文件交互 第4篇 Git協同模型 第21章 經典Git協同模型 第22章 Topgit協同模型 第23章 子模組協同模型 第24章 子樹合並 第25章 Android式多版本庫協同 第26章 Git和SVN協同模型 第5篇 搭建Git服務器 第27章 使用http協議 第28章 使用Git協議 第29章 使用SSH協議 第30章 Gitolite服務架設 第31章 Gitosi

s服務架設 第32章 Gerrit代碼審核服務器 第33章 Git版本庫托管 第6篇 遷移到Git 第34章 CVS版本庫到Git的遷移 第35章 更多版本控制系統的遷移 第7篇 Git的其他應用 第36章 etckeeper 第37章 Gistore 第38章 補丁中的二進制文件 第39章 雲存儲 第8篇 Git雜談 第40章 跨平台操作 第41章 Git的其他特性 第9篇 附錄 附錄A Git命令索引 A.1 常用的Git命令 A.2 對象庫操作相關命令 A.3 引用操作相關命令 A.4 版本庫管理相關命令 A.5 數據傳輸相關命

令 A.6 郵件相關命令 A.7 協議相關命令 A.8 版本庫轉換和交互相關命令 A.9 合並相關的輔助命令 A.10 雜項 附錄B Git與CVS面對面 B.1 面對面訪談錄 B.2 Git和CVS命令對照 附錄C Git與SVN面對面 C.1 面對面訪談錄 C.2 Git和SVN命令對照 附錄D Git與Hg面對面 D.1 面對面訪談錄 D.2 Git和Hg命令對照

使用抽象語法樹偵測有意義之程式碼更動與重複性

為了解決cvs版本控制的問題,作者李冠程 這樣論述:

版本控制已經被廣泛的應用於現今的軟體開發領域,從大型的開源專案到個人的獨立專案,幾乎都會透過 Git、SVN 或是 CSV 等版本控制軟體來進行管理,而其中一項重要的元件就是差異比對工具,它能對專案程式碼的任意兩個版本進行比對。然而,絕大多數的差異比對工具都是以單行文字為單位進行比對,這導致了它們產生的報告中含有一些沒有意義的資訊,例如:因為變更程式碼風格而造成空白與換行的新增或刪除。本論文提出了一個叫做 smart-diff 的工具,smart-diff 是基於抽象語法樹的比對來偵測 C 語言中多種不同類別且有意義的程式碼更動以及可能是重複撰寫的程式碼。我們首先將相同結構的抽象語法樹進行比

對,接著再透過我們所提出的最長共同子樹演算法找出相似的抽象語法樹,而最長共同子樹演算法則是從最長共同子序列演算法修改而來。我們選擇與以單行文字為單位進行程式碼比對的 GitHub 提交頁面相比,實驗結果顯示,smar-tdiff 的報告可以幫助使用者專注於有意義的程式碼更動並且也提供了更精準的定位,相較於 GitHub 提交頁面所顯示的結果,smart-diff 的報告內容對於使用者是更加友善的,而從實驗的統計數據中可以發現,smart-diff 在 Curl、Lua、Redis 以及 Nginx 這些開源專案的部分提交中所發現的程式碼更動數量與 GitHub 所顯示的資訊相比下降了 40.0

0% 到 89.39%,導致數量下降的原因是因為 smartdiff 會略過沒有意義的更動資訊,並且還能以 AST 層級對這些更動做出適合的分類。最後,我們也展示了smart-diff 找出程式碼潛在問題的能力,這些問題包括物件錯誤的考以及重複撰寫的程式碼,因此,我們相信 smart-diff 也有潛能可以成為程式碼檢閱的工具。