complete article git basic principle 1