Ios:git Distributed version Controller system
Last Update:2015-10-28
Source: Internet
Author: User
<span id="Label3"></p><p><p><span style="font-family: ‘Hannotate SC‘; font-size: 18pt;">The use of Git</span></p></p><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">1, git introduction:</span></span><span style="font-size: large;"><span style="font-size: large;">git is an open source distributed version control System. Compared to svn, CVS</span></span><span style="font-size: large;"><span style="font-size: large;">Distributed</span></span><span style="font-size: large;"><span style="font-size: large;">no central warehouse required</span></span><span style="font-size: large;"><span style="font-size: large;">Git's version number is a generated hash value, for example: Bbaf6fb5060b4875b18ff9ff637ce118256d6f20</span></span><span style="font-size: large;"><span style="font-size: large;">Performance</span></span><span style="font-size: large;"><span style="font-size: large;">branching and merging are relatively simple</span></span><span style="font-size: large;"><span style="font-size: large;">Fast Contrast</span></span><span style="font-size: large;"><span style="font-size: large;">Less storage space</span></span><span style="font-size: x-large;"><span style="font-size: x-large;"> </span></span><span style="font-size: x-large;"><span style="font-size: x-large;">2, The role of Git:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">you can use it to track files in your project</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">version history status can be shared with</span> partners</span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">You can combine the work</span> of a partner with your work</span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">You can compare the entire project or some files with a historical version or revert to a previous Version. </span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">3. git terminology:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Repository includes local libraries and remote libraries</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">pull/push/checkout/fetch: upload, Get</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Branch: Branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;">merge <span style="font-family: ‘Hannotate SC‘; font-size: large;">: Merging</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Conflict: Conflict</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Commit: Submit</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Revert: Recovery</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">working directory: working directory</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">4. Remote Library (left) and local library (right) are as Follows:</span></span><span style="font-size: x-large;"><span style="font-size: x-large;"> <span style="font-family: ‘Hannotate SC‘;">5,</span>git some common commands:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Get warehouse access information</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git init git</span> help</span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git clone git status</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git diff</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Commit git log</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git add git show (show changes)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git commit</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-size: x-large;"><span style="font-size: x-large;"> <span style="font-family: ‘Hannotate SC‘;">6</span>. Git Command Memo process:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">7. git workflow:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Create a local working directory (init,clone)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">synchronizing with remote warehouses (pull,fetch)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Modify a file</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">View Changes (show,status)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">loading changes (add or–a)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Submit a loaded change (commit)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Repeat</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Upload (push)</span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">8. The first git library:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">tell git who you are</span> .</span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git config–global user.name "xucons"</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git config–global user.email "[email protected]"</span></span><span style="font-size: large;"><span style="font-size: large;"> <span style="font-family: ‘Hannotate SC‘;">Create a library:</span>git init</span></span><span style="font-size: large;"><span style="font-size: large;"> <span style="font-family: ‘Hannotate SC‘;">Clone a library:</span>git clone git://git.kernel.org/scm/git/git.git</span></span><span style="font-size: large;"><span style="font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">9. Remote Warehouse operation:</span></span><span style="font-size: large;"><span style="font-size: large;">git clone < warehouse address ></span></span><span style="font-size: large;"><span style="font-size: large;">git remote–v list all remote repositories</span></span><span style="font-size: large;"><span style="font-size: large;">git push < warehouse name > < branch name > push local Branch update to remote warehouse</span></span><span style="font-size: large;"><span style="font-size: large;">git fetch gets updates from the remote repository</span></span><span style="font-size: large;"><span style="font-size: large;">git pull gets updates from the remote repository and merges the local branch</span></span><span style="font-size: large;"><span style="font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">10, Pull and fetch difference:</span></span><span style="font-size: large;"><span style="font-size: large;">git fetch: the equivalent of getting the latest version from remote to local, not automatically merge</span></span><span style="font-size: large;"><span style="font-size: large;">git pull: the equivalent of getting the latest version from remote and merge to local, equivalent to git fetch and git merge</span></span><span style="font-size: large;"><span style="font-size: large;">git fetch is a bit more secure in Real-world Use. Because before the merge, we can review the update and then decide whether to merge</span></span><span style="font-size: large;"><span style="font-size: large;"> </span></span><span style="font-size: x-large; font-family: ‘comic sans ms‘, sans-serif;"><span style="font-size: x-large; font-family: ‘comic sans ms‘, sans-serif;">11. git file status change diagram:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">12. Common file Operation Command:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git status View file status</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git add <file> track new files or staged modified files</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git diff view file changes</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git commit–m <msg> submit updates</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git rm file Remove files</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git log View commit log</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git commit–ammend Modify the last commit</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git reset HEAD <file> cancel staged file</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git checkout--<file> Cancel file modification</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">13. View the historical version:</span></span><span style="font-size: large;"><span style="font-size: large;">the git log command allows you to view the commit of a historical version</span></span><span style="font-size: large;"><span style="font-size: large;">git log operations are local operations, basic can be completed instantaneously, much faster than svn, viewing the historical version or diff comparison is very convenient</span></span><span style="font-size: large;"><span style="font-size: large;">you can also return back to the historical version via the git revert operation</span></span><span style="font-size: large;"><span style="font-size: large;"> </span></span><span style="font-size: x-large;"><span style="font-size: x-large;">14, revert and Reset:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Reset</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">rolls the current working directory completely back to the specified version number</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">revert</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;">to <span style="font-family: ‘Hannotate SC‘; font-size: large;">Restore a version of the modification, you must provide a specific git version number, such as ' git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20 '</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">difference</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;">Reset refers to resetting the <span style="font-family: ‘Hannotate SC‘; font-size: large;">contents of the current head without leaving any traces. </span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">revert is to revoke a commit, but this revocation will also be saved as a commit. </span></span> <span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">15, Rebase:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">when the nrebase command is executed, it actually moves the branch point from c to g, so that the branch has a function from C to G</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">16. Branches and tags:</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Create a branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git branch <name></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git branch <name> <commit-id></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Delete Branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git branch-d <name></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">View Branches</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git branch-r "//remote branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Turn a branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git checkout <commit-id></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git checkout-b <name> <commit-id></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Branch Merge</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git merge <name>//merge The specified branch to the current branch</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">Mark</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;">a <span style="font-family: ‘Hannotate SC‘; font-size: large;">tag is just a handy tag for someone to identify a commit</span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;">git tag <tag-name></span></span><span style="font-family: ‘Hannotate SC‘; font-size: large;"><span style="font-family: ‘Hannotate SC‘; font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">17, GitHub introduction:</span></span><span style="font-size: large;"><span style="font-size: large;">GitHub is a web-based and git managed project service, where you can host your Code. </span></span><span style="font-size: large;"><span style="font-size: large;">website: https://github.com/</span></span><span style="font-size: large;"><span style="font-size: large;"> </span></span><span style="font-family: ‘Hannotate SC‘; font-size: x-large;"><span style="font-family: ‘Hannotate SC‘; font-size: x-large;">18. Summary:</span></span><span style="font-size: large;"><span style="font-size: large;">git is a great tool for collaboration</span></span><span style="font-size: large;"><span style="font-size: large;">difficult to master in a short period of time, need to continue to learn in daily use,,,,,</span></span><p><p><span style="font-size: large;"></span></p></p><p><p>Ios:git Distributed version Controller system</p></p></span>