SlideShare a Scribd company logo
1 of 26
Download to read offline
(‫)تکمیلی‬ ‫گیت‬ ‫ورژن‬ ‫کنترل‬ ‫سامانه‬
‫شریف‬ ‫صنعتی‬ ‫دانشگاه‬ – ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
– ‫صدرنژاد‬ ‫سیدمحمدمسعود‬۳۱‫اردیبهشت‬۱۳۹۶
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
2
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
‫مطالب‬ ‫فهرست‬
۱‫گرافیکی‬‫های‬‫محیط‬ ‫در‬ ‫گیت‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫نصب‬ .
۲.‫پیشنهاد‬git-flow‫ها‬‫برنچ‬ ‫مدیریت‬ ‫برای‬
۳‫روش‬ .semantic versioning‫و‬tag‫گذاری‬
۴‫یک‬ ‫های‬‫ویژگی‬ .commit message‫خوب‬
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
3
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۱(
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
4
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۲(
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
5
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۳(
6
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Workshop
Let's See in Action
Open Your Terminal
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
7
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
‫پیشنهاد‬git-flow‫ها‬‫برنچ‬ ‫مدیریت‬ ‫برای‬
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
8
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
‫با‬ ‫کار‬remote
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
9
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲(
Deploy On Push
10
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (1)
 Problem
 In the world of software management there exists a
dread place called “dependency hell.”
 Many dependencies
 Version lock
• The inability to upgrade a package without having to
release new versions of every dependent package
 Prevent you
• from easily and safely moving your project forward
11
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (2)
 Solution
 Common practices
• in use in both closed and open-source software
 Consider a version format of X.Y.Z
(Major.Minor.Patch)
 Version numbers and the way they change
• convey meaning about the underlying code and what
has been modified from one version to the next
12
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (3)
 Semantic Versioning 2.0.0
 http://semver.org
 Given MAJOR.MINOR.PATCH increment
 MAJOR version
• when you make incompatible API changes,
 MINOR version
• when you add functionality in a backwards-compatible
manner, and
 PATCH version
• when you make backwards-compatible bug fixes.
 pre-release and build metadata
13
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (4)
 Semantic Versioning Specification (SemVer)
 Declare a public API.
• This API could be declared in the code itself or exist
strictly in documentation.
 A normal version number MUST take the form X.Y.Z
• Where X, Y, and Z are non-negative integers, and MUST
NOT contain leading zeroes.
• X is the major version, Y is the minor version, and Z is the
patch version.
• Each element MUST increase numerically. For instance:
1.9.0 -> 1.10.0 -> 1.11.0.
 Once a versioned package has been released,
• The contents of that version MUST NOT be modified.
• Any modifications MUST be released as a new version.
14
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (5)
 Semantic Versioning Specification (SemVer)
 Major version zero (0.y.z) is for initial development.
• The simplest thing to do is start your initial development
release at 0.1.0 and then incment the minor version for
each subsequent release.
 Version 1.0.0 defines the public API.
• The way in which the version number is incremented after
this release is dependent on this public API and how it
changes.
• If your software is being used in production, it should
probably already be 1.0.0.
• If you have a stable API on which users have come to
depend, you should be 1.0.0.
• If you’re worrying a lot about backwards compatibility,
you should probably already be 1.0.0.
15
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Semantic Versioning (6)
 Semantic Versioning Specification (SemVer)
 Patch version Z (x.y.Z | x > 0) MUST be incremented
if only backwards compatible bug fixes are introduced.
• A bug fix is defined as an internal change that fixes
incorrect behavior.
 Minor version Y (x.Y.z | x > 0) MUST be incremented
if new, backwards compatible functionality is
introduced to the public API.
• Patch version MUST be reset to 0 when minor version is
incremented.
 Major version X (X.y.z | X > 0) MUST be incremented
if any backwards incompatible changes are introduced to
the public API.
• It MAY include minor and patch level changes.
• Patch and minor version MUST be reset to 0 when major
version is incremented.
16
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (1)
17
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (2)
 Why good commit messages matter?
 Seven rules
 Separate subject from body with a blank line
 Limit the subject line to 50 characters
 Capitalize the subject line
 Do not end the subject line with a period
 Use the imperative mood in the subject line
 Wrap the body at 72 characters
 Use the body to explain what and why vs. how
18
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (3)
 Separate subject from body with a blank line
 Begin the commit message with a single short (less
than 50 character) line summarizing the change,
 Followed by a blank line
 And then a more thorough description.
 The text up to the first blank line in a commit
message is treated as the commit title, and that
title is used throughout Git.
 For example, Git-format-patch(1) turns a commit
into email, and it uses the title on the Subject line and
the rest of the commit in the body.
19
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (4)
 Limit the subject line to 50 characters
 Strive for atomic commits
 72 is the hard limit
20
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (5)
 Capitalize the subject line
 For example:
• Accelerate to 88 miles per hour
 Instead of:
• accelerate to 88 miles per hour
21
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (6)
 Do not end the subject line with a period
 Trailing punctuation is unnecessary in subject lines.
 Example:
• Open the pod bay doors
 Instead of:
• Open the pod bay doors.
22
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (7)
 Spoken or written as if giving a command or
instruction
 Git itself uses the imperative whenever it creates a
commit on your behalf.
 For example:
• Refactor subsystem X for readability
• Update getting started documentation
• Remove deprecated methods
• Release version 1.0.0
 Instead of:
• Fixed bug with Y
• Changing behavior of X
23
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (8)
 Spoken or written as if giving a command or
instruction
 A properly formed Git commit subject line should
always be able to complete the following sentence:
• If applied, this commit will your subject line here
 For example:
• If applied, this commit will refactor subsystem X for
readability
•If applied, this commit will update getting started
documentation
•If applied, this commit will remove deprecated methods
•If applied, this commit will release version 1.0.0
•If applied, this commit will merge pull request #123 from
user/branch
24
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (9)
 Wrap the body at 72 characters
25
‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬
۱۳۹۶/۲/۳۱
‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲(
Good Commit Message (10)
 Use the body to explain what and why vs. how
 Code is generally self-explanatory in this regard.
 Take a look at the full diff and just think how much
time the author is saving fellow and future committers by
taking the time to provide this context here and now.
 Just focus on making clear the reasons why you made
the change in the first place—the way things worked
before the change (and what was wrong with that), the
way they work now, and why you decided to solve it the
way you did.
 For example:
https://github.com/bitcoin/bitcoin/commit/eb0b56b190
17ab5c16c745e6da39c53126924ed6
‫پاسخ‬ ‫و‬ ‫پرسش‬‫پاسخ‬ ‫و‬ ‫پرسش‬
‫وسیله‬ ‫به‬ ‫شده‬ ‫طراحی‬
twitter.com/smmsadrnezhtwitter.com/smmsadrnezh
‫صدرنژاد‬ ‫سیدمحمدمسعود‬

More Related Content

Similar to Git Version Control System Part 2

Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2
Amit Gatenyo
 
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
asmjit - Complete x86 x64 JIT Assembler for C++.pdfasmjit - Complete x86 x64 JIT Assembler for C++.pdf
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
htdvul
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
Martin Pinzger
 
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 

Similar to Git Version Control System Part 2 (20)

IBM Middleware Upgrade webinar by CROZ June 2020
IBM Middleware Upgrade webinar by CROZ June 2020IBM Middleware Upgrade webinar by CROZ June 2020
IBM Middleware Upgrade webinar by CROZ June 2020
 
2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field Call2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field Call
 
Tcp performance Final Report
Tcp performance Final Report Tcp performance Final Report
Tcp performance Final Report
 
Lesson 0.5 Introduction to Git (1).pptx
Lesson 0.5 Introduction to Git (1).pptxLesson 0.5 Introduction to Git (1).pptx
Lesson 0.5 Introduction to Git (1).pptx
 
Gonzo - Increasing Agility by Understanding Risk
Gonzo - Increasing Agility by Understanding RiskGonzo - Increasing Agility by Understanding Risk
Gonzo - Increasing Agility by Understanding Risk
 
Puppet Camp London April 2014: Increasing Agility by Understanding Risk
Puppet Camp London April 2014: Increasing Agility by Understanding Risk Puppet Camp London April 2014: Increasing Agility by Understanding Risk
Puppet Camp London April 2014: Increasing Agility by Understanding Risk
 
Db2 analytics accelerator on ibm integrated analytics system technical over...
Db2 analytics accelerator on ibm integrated analytics system   technical over...Db2 analytics accelerator on ibm integrated analytics system   technical over...
Db2 analytics accelerator on ibm integrated analytics system technical over...
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
Mesa and Its Debugging, Вадим Шовкопляс
Mesa and Its Debugging, Вадим ШовкоплясMesa and Its Debugging, Вадим Шовкопляс
Mesa and Its Debugging, Вадим Шовкопляс
 
Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2
 
Update from android kk to android l
Update from android kk to android lUpdate from android kk to android l
Update from android kk to android l
 
Go 1.8 Release Party
Go 1.8 Release PartyGo 1.8 Release Party
Go 1.8 Release Party
 
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEInstalling Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
 
Essential Tools for Modern PHP
Essential Tools for Modern PHPEssential Tools for Modern PHP
Essential Tools for Modern PHP
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptx
 
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
asmjit - Complete x86 x64 JIT Assembler for C++.pdfasmjit - Complete x86 x64 JIT Assembler for C++.pdf
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
[TestWarez 2017] Behavior Driven Development in a complex environment - Consu...
 
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
 
Onnx and onnx runtime
Onnx and onnx runtimeOnnx and onnx runtime
Onnx and onnx runtime
 

More from S. M. Masoud Sadrnezhaad

استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
S. M. Masoud Sadrnezhaad
 

More from S. M. Masoud Sadrnezhaad (20)

Facade Design Pattern
Facade Design PatternFacade Design Pattern
Facade Design Pattern
 
Epistemic Justification
Epistemic JustificationEpistemic Justification
Epistemic Justification
 
استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
استفاده از داده‌های تجربی برای پشتیبانی از انتخاب فناوری در تصمیم‌گیری معماری...
 
تاریخچه و پیشینهٔ نظری اندازه‌گیری عملکرد و معرفی اجمالی برخی مدل‌های بلوغ و ...
تاریخچه و پیشینهٔ نظری اندازه‌گیری عملکرد و معرفی اجمالی برخی مدل‌های بلوغ و ...تاریخچه و پیشینهٔ نظری اندازه‌گیری عملکرد و معرفی اجمالی برخی مدل‌های بلوغ و ...
تاریخچه و پیشینهٔ نظری اندازه‌گیری عملکرد و معرفی اجمالی برخی مدل‌های بلوغ و ...
 
تحلیل بده‌بستان‌ها میان ویژگی‌های کیفی برای پشتیبانی از تصمیم‌های معماری نرم‌...
تحلیل بده‌بستان‌ها میان ویژگی‌های کیفی برای پشتیبانی از تصمیم‌های معماری نرم‌...تحلیل بده‌بستان‌ها میان ویژگی‌های کیفی برای پشتیبانی از تصمیم‌های معماری نرم‌...
تحلیل بده‌بستان‌ها میان ویژگی‌های کیفی برای پشتیبانی از تصمیم‌های معماری نرم‌...
 
سامانهٔ پشتیبان تصمیم برای شناسایی معماری‌های نامزد و اتخاذ تصمیم‌های معماری ...
سامانهٔ پشتیبان تصمیم برای شناسایی معماری‌های نامزد و اتخاذ تصمیم‌های معماری ...سامانهٔ پشتیبان تصمیم برای شناسایی معماری‌های نامزد و اتخاذ تصمیم‌های معماری ...
سامانهٔ پشتیبان تصمیم برای شناسایی معماری‌های نامزد و اتخاذ تصمیم‌های معماری ...
 
آماده‌سازی ذهن برای خلاقیت و ابزار داستان‌سرایی
آماده‌سازی ذهن برای خلاقیت و ابزار داستان‌سراییآماده‌سازی ذهن برای خلاقیت و ابزار داستان‌سرایی
آماده‌سازی ذهن برای خلاقیت و ابزار داستان‌سرایی
 
نمایش اجرای فرایندهای حرفه به کمک ابزارهای پویانمایی و شبیه‌سازی زمان و هزینه...
نمایش اجرای فرایندهای حرفه به کمک ابزارهای پویانمایی و شبیه‌سازی زمان و هزینه...نمایش اجرای فرایندهای حرفه به کمک ابزارهای پویانمایی و شبیه‌سازی زمان و هزینه...
نمایش اجرای فرایندهای حرفه به کمک ابزارهای پویانمایی و شبیه‌سازی زمان و هزینه...
 
چارچوب توصیف منبع برای ذخیره و بازیابی معنا
چارچوب توصیف منبع برای ذخیره و بازیابی معناچارچوب توصیف منبع برای ذخیره و بازیابی معنا
چارچوب توصیف منبع برای ذخیره و بازیابی معنا
 
حوزه‌های پژوهش در زمینهٔ مهندسی نرم‌افزار سامانه‌های خودتطبیق و خودسازمانده
حوزه‌های پژوهش در زمینهٔ مهندسی نرم‌افزار سامانه‌های خودتطبیق و خودسازماندهحوزه‌های پژوهش در زمینهٔ مهندسی نرم‌افزار سامانه‌های خودتطبیق و خودسازمانده
حوزه‌های پژوهش در زمینهٔ مهندسی نرم‌افزار سامانه‌های خودتطبیق و خودسازمانده
 
معرفی و اجرای سناریوی SWIM در چارچوب Rainbow برای شبیه‌سازی معماری نرم‌افزار ...
معرفی و اجرای سناریوی SWIM در چارچوب Rainbow برای شبیه‌سازی معماری نرم‌افزار ...معرفی و اجرای سناریوی SWIM در چارچوب Rainbow برای شبیه‌سازی معماری نرم‌افزار ...
معرفی و اجرای سناریوی SWIM در چارچوب Rainbow برای شبیه‌سازی معماری نرم‌افزار ...
 
معرفی و آموزش نحوهٔ استفاده از نرم‌افزار ERPNext برای برنامه‌ریزی منابع سازمانی
معرفی و آموزش نحوهٔ استفاده از نرم‌افزار ERPNext برای برنامه‌ریزی منابع سازمانیمعرفی و آموزش نحوهٔ استفاده از نرم‌افزار ERPNext برای برنامه‌ریزی منابع سازمانی
معرفی و آموزش نحوهٔ استفاده از نرم‌افزار ERPNext برای برنامه‌ریزی منابع سازمانی
 
بی‌طرفی شبکه و ریشه‌های آن
بی‌طرفی شبکه و ریشه‌های آنبی‌طرفی شبکه و ریشه‌های آن
بی‌طرفی شبکه و ریشه‌های آن
 
Classroom Object Oriented Language (COOL)
Classroom Object Oriented Language (COOL)Classroom Object Oriented Language (COOL)
Classroom Object Oriented Language (COOL)
 
از فرهنگ اجازه تا فرهنگ آزاد یا چگونه رسانه‌ها از تکنولوژی و قانون برای محدود...
از فرهنگ اجازه تا فرهنگ آزاد یا چگونه رسانه‌ها از تکنولوژی و قانون برای محدود...از فرهنگ اجازه تا فرهنگ آزاد یا چگونه رسانه‌ها از تکنولوژی و قانون برای محدود...
از فرهنگ اجازه تا فرهنگ آزاد یا چگونه رسانه‌ها از تکنولوژی و قانون برای محدود...
 
طراحی و معماری خدمات ابری زیرساخت آمازون (AWS)
طراحی و معماری خدمات ابری زیرساخت آمازون (AWS)طراحی و معماری خدمات ابری زیرساخت آمازون (AWS)
طراحی و معماری خدمات ابری زیرساخت آمازون (AWS)
 
معرفی و آموزش سامانهٔ مدیریت محتوا مزانین
معرفی و آموزش سامانهٔ مدیریت محتوا مزانینمعرفی و آموزش سامانهٔ مدیریت محتوا مزانین
معرفی و آموزش سامانهٔ مدیریت محتوا مزانین
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
نقش جامعه و دولت در حمایت از نرم‌افزار آزاد
نقش جامعه و دولت در حمایت از نرم‌افزار آزادنقش جامعه و دولت در حمایت از نرم‌افزار آزاد
نقش جامعه و دولت در حمایت از نرم‌افزار آزاد
 
بزرگ‌داده؛ مقیاسی از دنیای واقعی
بزرگ‌داده؛ مقیاسی از دنیای واقعیبزرگ‌داده؛ مقیاسی از دنیای واقعی
بزرگ‌داده؛ مقیاسی از دنیای واقعی
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Git Version Control System Part 2

  • 1. (‫)تکمیلی‬ ‫گیت‬ ‫ورژن‬ ‫کنترل‬ ‫سامانه‬ ‫شریف‬ ‫صنعتی‬ ‫دانشگاه‬ – ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ – ‫صدرنژاد‬ ‫سیدمحمدمسعود‬۳۱‫اردیبهشت‬۱۳۹۶
  • 2. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 2 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ‫مطالب‬ ‫فهرست‬ ۱‫گرافیکی‬‫های‬‫محیط‬ ‫در‬ ‫گیت‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫نصب‬ . ۲.‫پیشنهاد‬git-flow‫ها‬‫برنچ‬ ‫مدیریت‬ ‫برای‬ ۳‫روش‬ .semantic versioning‫و‬tag‫گذاری‬ ۴‫یک‬ ‫های‬‫ویژگی‬ .commit message‫خوب‬
  • 3. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 3 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۱(
  • 4. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 4 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۲(
  • 5. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 5 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ) ‫گرافیکی‬ ‫های‬‫محیط‬ ‫در‬ ‫گیت‬۳(
  • 6. 6 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Workshop Let's See in Action Open Your Terminal
  • 7. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 7 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ‫پیشنهاد‬git-flow‫ها‬‫برنچ‬ ‫مدیریت‬ ‫برای‬
  • 8. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 8 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( ‫با‬ ‫کار‬remote
  • 9. ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ 9 ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫کنترل‬‫سامانه‬ ‫کارگاه‬۲( Deploy On Push
  • 10. 10 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (1)  Problem  In the world of software management there exists a dread place called “dependency hell.”  Many dependencies  Version lock • The inability to upgrade a package without having to release new versions of every dependent package  Prevent you • from easily and safely moving your project forward
  • 11. 11 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (2)  Solution  Common practices • in use in both closed and open-source software  Consider a version format of X.Y.Z (Major.Minor.Patch)  Version numbers and the way they change • convey meaning about the underlying code and what has been modified from one version to the next
  • 12. 12 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (3)  Semantic Versioning 2.0.0  http://semver.org  Given MAJOR.MINOR.PATCH increment  MAJOR version • when you make incompatible API changes,  MINOR version • when you add functionality in a backwards-compatible manner, and  PATCH version • when you make backwards-compatible bug fixes.  pre-release and build metadata
  • 13. 13 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (4)  Semantic Versioning Specification (SemVer)  Declare a public API. • This API could be declared in the code itself or exist strictly in documentation.  A normal version number MUST take the form X.Y.Z • Where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. • X is the major version, Y is the minor version, and Z is the patch version. • Each element MUST increase numerically. For instance: 1.9.0 -> 1.10.0 -> 1.11.0.  Once a versioned package has been released, • The contents of that version MUST NOT be modified. • Any modifications MUST be released as a new version.
  • 14. 14 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (5)  Semantic Versioning Specification (SemVer)  Major version zero (0.y.z) is for initial development. • The simplest thing to do is start your initial development release at 0.1.0 and then incment the minor version for each subsequent release.  Version 1.0.0 defines the public API. • The way in which the version number is incremented after this release is dependent on this public API and how it changes. • If your software is being used in production, it should probably already be 1.0.0. • If you have a stable API on which users have come to depend, you should be 1.0.0. • If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.
  • 15. 15 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Semantic Versioning (6)  Semantic Versioning Specification (SemVer)  Patch version Z (x.y.Z | x > 0) MUST be incremented if only backwards compatible bug fixes are introduced. • A bug fix is defined as an internal change that fixes incorrect behavior.  Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. • Patch version MUST be reset to 0 when minor version is incremented.  Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API. • It MAY include minor and patch level changes. • Patch and minor version MUST be reset to 0 when major version is incremented.
  • 16. 16 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (1)
  • 17. 17 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (2)  Why good commit messages matter?  Seven rules  Separate subject from body with a blank line  Limit the subject line to 50 characters  Capitalize the subject line  Do not end the subject line with a period  Use the imperative mood in the subject line  Wrap the body at 72 characters  Use the body to explain what and why vs. how
  • 18. 18 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (3)  Separate subject from body with a blank line  Begin the commit message with a single short (less than 50 character) line summarizing the change,  Followed by a blank line  And then a more thorough description.  The text up to the first blank line in a commit message is treated as the commit title, and that title is used throughout Git.  For example, Git-format-patch(1) turns a commit into email, and it uses the title on the Subject line and the rest of the commit in the body.
  • 19. 19 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (4)  Limit the subject line to 50 characters  Strive for atomic commits  72 is the hard limit
  • 20. 20 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (5)  Capitalize the subject line  For example: • Accelerate to 88 miles per hour  Instead of: • accelerate to 88 miles per hour
  • 21. 21 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (6)  Do not end the subject line with a period  Trailing punctuation is unnecessary in subject lines.  Example: • Open the pod bay doors  Instead of: • Open the pod bay doors.
  • 22. 22 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (7)  Spoken or written as if giving a command or instruction  Git itself uses the imperative whenever it creates a commit on your behalf.  For example: • Refactor subsystem X for readability • Update getting started documentation • Remove deprecated methods • Release version 1.0.0  Instead of: • Fixed bug with Y • Changing behavior of X
  • 23. 23 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (8)  Spoken or written as if giving a command or instruction  A properly formed Git commit subject line should always be able to complete the following sentence: • If applied, this commit will your subject line here  For example: • If applied, this commit will refactor subsystem X for readability •If applied, this commit will update getting started documentation •If applied, this commit will remove deprecated methods •If applied, this commit will release version 1.0.0 •If applied, this commit will merge pull request #123 from user/branch
  • 24. 24 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (9)  Wrap the body at 72 characters
  • 25. 25 ‫ها‬‫سیستم‬ ‫طراحی‬ ‫و‬ ‫تحلیل‬ ۱۳۹۶/۲/۳۱ ‫صدرنژاد‬ ‫سیدمحمدمسعود‬) ‫گیت‬‫ورژن‬ ‫ل‬‫ل‬‫کنتر‬‫سامانه‬ ‫کارگاه‬۲( Good Commit Message (10)  Use the body to explain what and why vs. how  Code is generally self-explanatory in this regard.  Take a look at the full diff and just think how much time the author is saving fellow and future committers by taking the time to provide this context here and now.  Just focus on making clear the reasons why you made the change in the first place—the way things worked before the change (and what was wrong with that), the way they work now, and why you decided to solve it the way you did.  For example: https://github.com/bitcoin/bitcoin/commit/eb0b56b190 17ab5c16c745e6da39c53126924ed6
  • 26. ‫پاسخ‬ ‫و‬ ‫پرسش‬‫پاسخ‬ ‫و‬ ‫پرسش‬ ‫وسیله‬ ‫به‬ ‫شده‬ ‫طراحی‬ twitter.com/smmsadrnezhtwitter.com/smmsadrnezh ‫صدرنژاد‬ ‫سیدمحمدمسعود‬