Mastering Git :: attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features /
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior,...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2016.
|
Schriftenreihe: | Community experience distilled.
|
Schlagworte: | |
Online-Zugang: | DE-862 DE-863 |
Zusammenfassung: | Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as?user-unfriendly?. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the ... |
Beschreibung: | Includes index. |
Beschreibung: | 1 online resource (1 volume) : illustrations |
ISBN: | 9781783553761 1783553766 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn948621884 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 160503s2016 enka o 001 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d TEFOD |d OCLCF |d TEFOD |d DEBBG |d DEBSZ |d CEF |d AU@ |d N$T |d AGLDB |d BTN |d AUW |d INTCL |d MHW |d SNK |d RDF |d CZL |d OCLCO |d OCLCQ |d OCLCO |d OCLCL |d DXU |d OCLCQ | ||
020 | |a 9781783553761 |q (electronic bk.) | ||
020 | |a 1783553766 |q (electronic bk.) | ||
020 | |z 9781783553754 | ||
020 | |z 1783553758 | ||
035 | |a (OCoLC)948621884 | ||
050 | 4 | |a QA76.758 | |
072 | 7 | |a COM |x 051390 |2 bisacsh | |
072 | 7 | |a COM |x 051230 |2 bisacsh | |
082 | 7 | |a 005.1 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Narębski, Jakub, |e author. | |
245 | 1 | 0 | |a Mastering Git : |b attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / |c Jakub Narębski. |
264 | 1 | |a Birmingham, UK : |b Packt Publishing, |c 2016. | |
300 | |a 1 online resource (1 volume) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
490 | 1 | |a Community experience distilled | |
588 | 0 | |a Online resource; title from cover (Safari, viewed May 3, 2016). | |
500 | |a Includes index. | ||
520 | |a Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as?user-unfriendly?. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the ... | ||
505 | 0 | |a Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Git Basics in Practice -- An introduction to version control and Git -- Git by example -- Repository setup -- Creating a Git repository -- Cloning the repository and creating the first commit -- Publishing changes -- Examining history and viewing changes -- Renaming and moving files -- Updating your repository (with merge) -- Creating a tag -- Resolving a merge conflict -- Adding files in bulk and removing files -- Undoing changes to a file -- Creating a new branch -- Merging a branch (no conflicts) -- Undoing an unpublished merge -- Summary -- Chapter 2: Exploring Project History -- Directed Acyclic Graphs -- Whole-tree commits -- Branches and tags -- Branch points -- Merge commits -- Single revision selection -- HEAD -- the implicit revision -- Branch and tag references -- SHA-1 and the shortened SHA-1 identifier -- Ancestry references -- Reverse ancestry references: the git describe output -- Reflog shortnames -- Upstream of remote-tracking branches -- Selecting revision by the commit message -- Selecting the revision range -- Single revision as a revision range -- Double dot notation -- Multiple points -- including and excluding revisions -- The revision range for a single revision -- Triple-dot notation -- Searching history -- Limiting the number of revisions -- Matching revision metadata -- Time-limiting options -- Matching commit contents -- Commit parents -- Searching changes in revisions -- Selecting types of change -- History of a file -- Path limiting -- History simplification -- Blame -- the line-wise history of a file -- Finding bugs with git bisect -- Selecting and formatting the git log output -- Predefined and user defined output formats -- Including, formatting, and summing up changes. | |
505 | 8 | |a Summarizing contributions -- Viewing a revision and a file at revision -- Summary -- Chapter 3: Developing with Git -- Creating a new commit -- The DAG view of creating a new commit -- The index -- a staging area for commits -- Examining the changes to be committed -- The status of the working directory -- Examining differences from the last revision -- Unified Git diff format -- Selective commit -- Selecting files to commit -- Interactively selecting changes -- Creating a commit step by step -- Amending a commit -- Working with branches -- Creating a new branch -- Creating orphan branches -- Selecting and switching to a branch -- Obstacles to switching to a branch -- Anonymous branches -- Git checkout DWIM-mery -- Listing branches -- Rewinding or resetting a branch -- Deleting a branch -- Changing the branch name -- Summary -- Chapter 4: Managing Your Worktree -- Ignoring files -- Marking files as intentionally untracked -- Which types of file should be ignored? -- Listing ignored files -- Ignoring changes in tracked files -- File attributes -- Identifying binary files and end-of-line conversions -- Diff and merge configuration -- Generating diffs and binary files -- Configuring diff output -- Performing a 3-way merge -- Transforming files (content filtering) -- Obligatory file transformations -- Keyword expansion and substitution -- Other built-in attributes -- Defining attribute macros -- Fixing mistakes with the reset command -- Rewinding the branch head, softly -- Removing or amending a commit -- Squashing commits with reset -- Resetting the branch head and the index -- Splitting a commit with reset -- Saving and restoring state with the WIP commit -- Discarding changes and rewinding branch -- Moving commits to a feature branch -- Undoing a merge or a pull -- Safer reset -- keeping your changes -- Rebase changes to an earlier revision. | |
505 | 8 | |a Stashing away your changes -- Using git stash -- Stash and the staging area -- Stash internals -- Un-applying a stash -- Recovering stashes that were dropped erroneously -- Managing worktrees and the staging area -- Examining files and directories -- Searching file contents -- Un-tracking, un-staging, and un-modifying files -- Resetting a file to the old version -- Cleaning the working area -- Multiple working directories -- Summary -- Chapter 5: Collaborative Development with Git -- Collaborative workflows -- Bare repositories -- Interacting with other repositories -- The centralized workflow -- The peer-to-peer or forking workflow -- The maintainer or integration manager workflow -- The hierarchical or dictator and lieutenants workflows -- Managing remote repositories -- The origin remote -- Listing and examining remotes -- Adding a new remote -- Updating information about remotes -- Renaming remotes -- Changing the remote URLs -- Changing the list of branches tracked by remote -- Setting the default branch of remote -- Deleting remote-tracking branches -- Support for triangular workflows -- Transport protocols -- Local transport -- Smart transports -- Native Git protocol -- SSH protocol -- Smart HTTP(S) protocol -- Offline transport with bundles -- Cloning and updating with bundle -- Using bundle to update an existing repository -- Utilizing bundle to help with the initial clone -- Remote transport helpers -- Transport relay with remote helpers -- Using foreign SCM repositories as remotes -- Credentials/password management -- Asking for passwords -- Public key authentication for SSH -- Credential helpers -- Publishing your changes upstream -- Pushing to a public repository -- Generating a pull request -- Exchanging patches -- Chain of trust -- Content-addressed storage -- Lightweight, annotated, and signed tags -- Lightweight tags. | |
505 | 8 | |a Annotated tags -- Signed tags -- Publishing tags -- Tag verification -- Signed commits -- Merging signed tags (merge tags) -- Summary -- Chapter 6: Advanced Branching Techniques -- Types and purposes of branches -- Long-running, perpetual branches -- Integration, graduation, or progressive-stability branches -- Per-release branches and per-release maintenance -- Hotfix branches for security fixes -- Per-customer or per-deployment branches -- Automation branches -- Mob branches for anonymous push access -- The orphan branch trick -- Short-lived branches -- Topic or feature branches -- Bugfix branches -- Detached HEAD -- the anonymous branch -- Branching workflows and release engineering -- The release and trunk branches workflow -- The graduation, or progressive-stability branches workflow -- The topic branches workflow -- Graduation branches in a topic branch workflow -- Branch management for a release in a topic branch workflow -- Git-flow -- a successful Git branching model -- Fixing a security issue -- Interacting with branches in remote repositories -- Upstream and downstream -- Remote-tracking branches and refspec -- Remote-tracking branches -- Refspec -- remote to local branch mapping specification -- Fetching and pulling versus pushing -- Pull -- fetch and update current branch -- Pushing to the current branch in a nonbare remote repository -- The default fetch refspec and push modes -- Fetching and pushing branches and tags -- Fetching branches -- Fetching tags and automatic tag following -- Pushing branches and tags -- Push modes and their use -- The simple push mode -- the default -- The matching push mode for maintainers -- The upstream push mode for the centralized workflow -- The current push mode for the blessed repository workflow -- Summary -- Chapter 7: Merging Changes Together -- Methods of combining changes -- Merging branches. | |
505 | 8 | |a No divergence -- fast-forward and up-to-date cases -- Creating a merge commit -- Merge strategies and their options -- Reminder -- merge drivers -- Reminder -- signing merges and merging tags -- Copying and applying a changeset -- Cherry-pick -- creating a copy of a changeset -- Revert -- undoing an effect of a commit -- Applying a series of commits from patches -- Cherry-picking and reverting a merge -- Rebasing a branch -- Merge versus rebase -- Types of rebase -- Advanced rebasing techniques -- Resolving merge conflicts -- The three-way merge -- Examining failed merges -- Conflict markers in the worktree -- Three stages in the index -- Examining differences -- the combined diff format -- How do we get there: git log -- merge -- Avoiding merge conflicts -- Useful merge options -- Rerere -- reuse recorded resolutions -- Dealing with merge conflicts -- Aborting a merge -- Selecting ours or theirs version -- Scriptable fixes -- manual file remerging -- Using graphical merge tools -- Marking files as resolved and finalizing merges -- Resolving rebase conflicts -- git-imerge -- incremental merge and rebase for git -- Summary -- Chapter 8: Keeping History Clean -- An introduction to Git internals -- Git objects -- The plumbing and porcelain Git commands -- Environment variables used by Git -- Environment variables affecting global behavior -- Environment variables affecting repository locations -- Environment variables affecting committing -- Rewriting history -- Amending the last commit -- An interactive rebase -- Reordering, removing, and fixing commits -- Squashing commits -- Splitting commits -- Testing each rebased commit -- External tools -- patch management interfaces -- Scripted rewrite with the git filter-branch -- Running the filter-branch without filters -- Available filter types for filter-branch and their use -- Examples of using the git filter-branch. | |
630 | 0 | 0 | |a Git (Computer file) |0 http://id.loc.gov/authorities/names/n2013035657 |
630 | 0 | 7 | |a Git (Computer file) |2 fast |
650 | 0 | |a Software engineering. |0 http://id.loc.gov/authorities/subjects/sh87007398 | |
650 | 0 | |a Open source software. |0 http://id.loc.gov/authorities/subjects/sh99003437 | |
650 | 0 | |a Electronic data processing |x Distributed processing. |0 http://id.loc.gov/authorities/subjects/sh85042293 | |
650 | 6 | |a Génie logiciel. | |
650 | 6 | |a Logiciels libres. | |
650 | 6 | |a Traitement réparti. | |
650 | 7 | |a COMPUTERS |x Programming |x Open Source. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Software Development & Engineering |x General. |2 bisacsh | |
650 | 7 | |a Electronic data processing |x Distributed processing |2 fast | |
650 | 7 | |a Open source software |2 fast | |
650 | 7 | |a Software engineering |2 fast | |
830 | 0 | |a Community experience distilled. |0 http://id.loc.gov/authorities/names/no2011030603 | |
966 | 4 | 0 | |l DE-862 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225882 |3 Volltext |
966 | 4 | 0 | |l DE-863 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225882 |3 Volltext |
938 | |a EBSCOhost |b EBSC |n 1225882 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-862 | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn948621884 |
---|---|
_version_ | 1826942113506394112 |
adam_text | |
any_adam_object | |
author | Narębski, Jakub |
author_facet | Narębski, Jakub |
author_role | aut |
author_sort | Narębski, Jakub |
author_variant | j n jn |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.758 |
callnumber-search | QA76.758 |
callnumber-sort | QA 276.758 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Git Basics in Practice -- An introduction to version control and Git -- Git by example -- Repository setup -- Creating a Git repository -- Cloning the repository and creating the first commit -- Publishing changes -- Examining history and viewing changes -- Renaming and moving files -- Updating your repository (with merge) -- Creating a tag -- Resolving a merge conflict -- Adding files in bulk and removing files -- Undoing changes to a file -- Creating a new branch -- Merging a branch (no conflicts) -- Undoing an unpublished merge -- Summary -- Chapter 2: Exploring Project History -- Directed Acyclic Graphs -- Whole-tree commits -- Branches and tags -- Branch points -- Merge commits -- Single revision selection -- HEAD -- the implicit revision -- Branch and tag references -- SHA-1 and the shortened SHA-1 identifier -- Ancestry references -- Reverse ancestry references: the git describe output -- Reflog shortnames -- Upstream of remote-tracking branches -- Selecting revision by the commit message -- Selecting the revision range -- Single revision as a revision range -- Double dot notation -- Multiple points -- including and excluding revisions -- The revision range for a single revision -- Triple-dot notation -- Searching history -- Limiting the number of revisions -- Matching revision metadata -- Time-limiting options -- Matching commit contents -- Commit parents -- Searching changes in revisions -- Selecting types of change -- History of a file -- Path limiting -- History simplification -- Blame -- the line-wise history of a file -- Finding bugs with git bisect -- Selecting and formatting the git log output -- Predefined and user defined output formats -- Including, formatting, and summing up changes. Summarizing contributions -- Viewing a revision and a file at revision -- Summary -- Chapter 3: Developing with Git -- Creating a new commit -- The DAG view of creating a new commit -- The index -- a staging area for commits -- Examining the changes to be committed -- The status of the working directory -- Examining differences from the last revision -- Unified Git diff format -- Selective commit -- Selecting files to commit -- Interactively selecting changes -- Creating a commit step by step -- Amending a commit -- Working with branches -- Creating a new branch -- Creating orphan branches -- Selecting and switching to a branch -- Obstacles to switching to a branch -- Anonymous branches -- Git checkout DWIM-mery -- Listing branches -- Rewinding or resetting a branch -- Deleting a branch -- Changing the branch name -- Summary -- Chapter 4: Managing Your Worktree -- Ignoring files -- Marking files as intentionally untracked -- Which types of file should be ignored? -- Listing ignored files -- Ignoring changes in tracked files -- File attributes -- Identifying binary files and end-of-line conversions -- Diff and merge configuration -- Generating diffs and binary files -- Configuring diff output -- Performing a 3-way merge -- Transforming files (content filtering) -- Obligatory file transformations -- Keyword expansion and substitution -- Other built-in attributes -- Defining attribute macros -- Fixing mistakes with the reset command -- Rewinding the branch head, softly -- Removing or amending a commit -- Squashing commits with reset -- Resetting the branch head and the index -- Splitting a commit with reset -- Saving and restoring state with the WIP commit -- Discarding changes and rewinding branch -- Moving commits to a feature branch -- Undoing a merge or a pull -- Safer reset -- keeping your changes -- Rebase changes to an earlier revision. Stashing away your changes -- Using git stash -- Stash and the staging area -- Stash internals -- Un-applying a stash -- Recovering stashes that were dropped erroneously -- Managing worktrees and the staging area -- Examining files and directories -- Searching file contents -- Un-tracking, un-staging, and un-modifying files -- Resetting a file to the old version -- Cleaning the working area -- Multiple working directories -- Summary -- Chapter 5: Collaborative Development with Git -- Collaborative workflows -- Bare repositories -- Interacting with other repositories -- The centralized workflow -- The peer-to-peer or forking workflow -- The maintainer or integration manager workflow -- The hierarchical or dictator and lieutenants workflows -- Managing remote repositories -- The origin remote -- Listing and examining remotes -- Adding a new remote -- Updating information about remotes -- Renaming remotes -- Changing the remote URLs -- Changing the list of branches tracked by remote -- Setting the default branch of remote -- Deleting remote-tracking branches -- Support for triangular workflows -- Transport protocols -- Local transport -- Smart transports -- Native Git protocol -- SSH protocol -- Smart HTTP(S) protocol -- Offline transport with bundles -- Cloning and updating with bundle -- Using bundle to update an existing repository -- Utilizing bundle to help with the initial clone -- Remote transport helpers -- Transport relay with remote helpers -- Using foreign SCM repositories as remotes -- Credentials/password management -- Asking for passwords -- Public key authentication for SSH -- Credential helpers -- Publishing your changes upstream -- Pushing to a public repository -- Generating a pull request -- Exchanging patches -- Chain of trust -- Content-addressed storage -- Lightweight, annotated, and signed tags -- Lightweight tags. Annotated tags -- Signed tags -- Publishing tags -- Tag verification -- Signed commits -- Merging signed tags (merge tags) -- Summary -- Chapter 6: Advanced Branching Techniques -- Types and purposes of branches -- Long-running, perpetual branches -- Integration, graduation, or progressive-stability branches -- Per-release branches and per-release maintenance -- Hotfix branches for security fixes -- Per-customer or per-deployment branches -- Automation branches -- Mob branches for anonymous push access -- The orphan branch trick -- Short-lived branches -- Topic or feature branches -- Bugfix branches -- Detached HEAD -- the anonymous branch -- Branching workflows and release engineering -- The release and trunk branches workflow -- The graduation, or progressive-stability branches workflow -- The topic branches workflow -- Graduation branches in a topic branch workflow -- Branch management for a release in a topic branch workflow -- Git-flow -- a successful Git branching model -- Fixing a security issue -- Interacting with branches in remote repositories -- Upstream and downstream -- Remote-tracking branches and refspec -- Remote-tracking branches -- Refspec -- remote to local branch mapping specification -- Fetching and pulling versus pushing -- Pull -- fetch and update current branch -- Pushing to the current branch in a nonbare remote repository -- The default fetch refspec and push modes -- Fetching and pushing branches and tags -- Fetching branches -- Fetching tags and automatic tag following -- Pushing branches and tags -- Push modes and their use -- The simple push mode -- the default -- The matching push mode for maintainers -- The upstream push mode for the centralized workflow -- The current push mode for the blessed repository workflow -- Summary -- Chapter 7: Merging Changes Together -- Methods of combining changes -- Merging branches. No divergence -- fast-forward and up-to-date cases -- Creating a merge commit -- Merge strategies and their options -- Reminder -- merge drivers -- Reminder -- signing merges and merging tags -- Copying and applying a changeset -- Cherry-pick -- creating a copy of a changeset -- Revert -- undoing an effect of a commit -- Applying a series of commits from patches -- Cherry-picking and reverting a merge -- Rebasing a branch -- Merge versus rebase -- Types of rebase -- Advanced rebasing techniques -- Resolving merge conflicts -- The three-way merge -- Examining failed merges -- Conflict markers in the worktree -- Three stages in the index -- Examining differences -- the combined diff format -- How do we get there: git log -- merge -- Avoiding merge conflicts -- Useful merge options -- Rerere -- reuse recorded resolutions -- Dealing with merge conflicts -- Aborting a merge -- Selecting ours or theirs version -- Scriptable fixes -- manual file remerging -- Using graphical merge tools -- Marking files as resolved and finalizing merges -- Resolving rebase conflicts -- git-imerge -- incremental merge and rebase for git -- Summary -- Chapter 8: Keeping History Clean -- An introduction to Git internals -- Git objects -- The plumbing and porcelain Git commands -- Environment variables used by Git -- Environment variables affecting global behavior -- Environment variables affecting repository locations -- Environment variables affecting committing -- Rewriting history -- Amending the last commit -- An interactive rebase -- Reordering, removing, and fixing commits -- Squashing commits -- Splitting commits -- Testing each rebased commit -- External tools -- patch management interfaces -- Scripted rewrite with the git filter-branch -- Running the filter-branch without filters -- Available filter types for filter-branch and their use -- Examples of using the git filter-branch. |
ctrlnum | (OCoLC)948621884 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>14433cam a2200625 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn948621884</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cnu---unuuu</controlfield><controlfield tag="008">160503s2016 enka o 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCF</subfield><subfield code="d">TEFOD</subfield><subfield code="d">DEBBG</subfield><subfield code="d">DEBSZ</subfield><subfield code="d">CEF</subfield><subfield code="d">AU@</subfield><subfield code="d">N$T</subfield><subfield code="d">AGLDB</subfield><subfield code="d">BTN</subfield><subfield code="d">AUW</subfield><subfield code="d">INTCL</subfield><subfield code="d">MHW</subfield><subfield code="d">SNK</subfield><subfield code="d">RDF</subfield><subfield code="d">CZL</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">DXU</subfield><subfield code="d">OCLCQ</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781783553761</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1783553766</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781783553754</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1783553758</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)948621884</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.758</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051390</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051230</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Narębski, Jakub,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Mastering Git :</subfield><subfield code="b">attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features /</subfield><subfield code="c">Jakub Narębski.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2016.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (1 volume) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Community experience distilled</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from cover (Safari, viewed May 3, 2016).</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes index.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as?user-unfriendly?. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the ...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Git Basics in Practice -- An introduction to version control and Git -- Git by example -- Repository setup -- Creating a Git repository -- Cloning the repository and creating the first commit -- Publishing changes -- Examining history and viewing changes -- Renaming and moving files -- Updating your repository (with merge) -- Creating a tag -- Resolving a merge conflict -- Adding files in bulk and removing files -- Undoing changes to a file -- Creating a new branch -- Merging a branch (no conflicts) -- Undoing an unpublished merge -- Summary -- Chapter 2: Exploring Project History -- Directed Acyclic Graphs -- Whole-tree commits -- Branches and tags -- Branch points -- Merge commits -- Single revision selection -- HEAD -- the implicit revision -- Branch and tag references -- SHA-1 and the shortened SHA-1 identifier -- Ancestry references -- Reverse ancestry references: the git describe output -- Reflog shortnames -- Upstream of remote-tracking branches -- Selecting revision by the commit message -- Selecting the revision range -- Single revision as a revision range -- Double dot notation -- Multiple points -- including and excluding revisions -- The revision range for a single revision -- Triple-dot notation -- Searching history -- Limiting the number of revisions -- Matching revision metadata -- Time-limiting options -- Matching commit contents -- Commit parents -- Searching changes in revisions -- Selecting types of change -- History of a file -- Path limiting -- History simplification -- Blame -- the line-wise history of a file -- Finding bugs with git bisect -- Selecting and formatting the git log output -- Predefined and user defined output formats -- Including, formatting, and summing up changes.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Summarizing contributions -- Viewing a revision and a file at revision -- Summary -- Chapter 3: Developing with Git -- Creating a new commit -- The DAG view of creating a new commit -- The index -- a staging area for commits -- Examining the changes to be committed -- The status of the working directory -- Examining differences from the last revision -- Unified Git diff format -- Selective commit -- Selecting files to commit -- Interactively selecting changes -- Creating a commit step by step -- Amending a commit -- Working with branches -- Creating a new branch -- Creating orphan branches -- Selecting and switching to a branch -- Obstacles to switching to a branch -- Anonymous branches -- Git checkout DWIM-mery -- Listing branches -- Rewinding or resetting a branch -- Deleting a branch -- Changing the branch name -- Summary -- Chapter 4: Managing Your Worktree -- Ignoring files -- Marking files as intentionally untracked -- Which types of file should be ignored? -- Listing ignored files -- Ignoring changes in tracked files -- File attributes -- Identifying binary files and end-of-line conversions -- Diff and merge configuration -- Generating diffs and binary files -- Configuring diff output -- Performing a 3-way merge -- Transforming files (content filtering) -- Obligatory file transformations -- Keyword expansion and substitution -- Other built-in attributes -- Defining attribute macros -- Fixing mistakes with the reset command -- Rewinding the branch head, softly -- Removing or amending a commit -- Squashing commits with reset -- Resetting the branch head and the index -- Splitting a commit with reset -- Saving and restoring state with the WIP commit -- Discarding changes and rewinding branch -- Moving commits to a feature branch -- Undoing a merge or a pull -- Safer reset -- keeping your changes -- Rebase changes to an earlier revision.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Stashing away your changes -- Using git stash -- Stash and the staging area -- Stash internals -- Un-applying a stash -- Recovering stashes that were dropped erroneously -- Managing worktrees and the staging area -- Examining files and directories -- Searching file contents -- Un-tracking, un-staging, and un-modifying files -- Resetting a file to the old version -- Cleaning the working area -- Multiple working directories -- Summary -- Chapter 5: Collaborative Development with Git -- Collaborative workflows -- Bare repositories -- Interacting with other repositories -- The centralized workflow -- The peer-to-peer or forking workflow -- The maintainer or integration manager workflow -- The hierarchical or dictator and lieutenants workflows -- Managing remote repositories -- The origin remote -- Listing and examining remotes -- Adding a new remote -- Updating information about remotes -- Renaming remotes -- Changing the remote URLs -- Changing the list of branches tracked by remote -- Setting the default branch of remote -- Deleting remote-tracking branches -- Support for triangular workflows -- Transport protocols -- Local transport -- Smart transports -- Native Git protocol -- SSH protocol -- Smart HTTP(S) protocol -- Offline transport with bundles -- Cloning and updating with bundle -- Using bundle to update an existing repository -- Utilizing bundle to help with the initial clone -- Remote transport helpers -- Transport relay with remote helpers -- Using foreign SCM repositories as remotes -- Credentials/password management -- Asking for passwords -- Public key authentication for SSH -- Credential helpers -- Publishing your changes upstream -- Pushing to a public repository -- Generating a pull request -- Exchanging patches -- Chain of trust -- Content-addressed storage -- Lightweight, annotated, and signed tags -- Lightweight tags.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Annotated tags -- Signed tags -- Publishing tags -- Tag verification -- Signed commits -- Merging signed tags (merge tags) -- Summary -- Chapter 6: Advanced Branching Techniques -- Types and purposes of branches -- Long-running, perpetual branches -- Integration, graduation, or progressive-stability branches -- Per-release branches and per-release maintenance -- Hotfix branches for security fixes -- Per-customer or per-deployment branches -- Automation branches -- Mob branches for anonymous push access -- The orphan branch trick -- Short-lived branches -- Topic or feature branches -- Bugfix branches -- Detached HEAD -- the anonymous branch -- Branching workflows and release engineering -- The release and trunk branches workflow -- The graduation, or progressive-stability branches workflow -- The topic branches workflow -- Graduation branches in a topic branch workflow -- Branch management for a release in a topic branch workflow -- Git-flow -- a successful Git branching model -- Fixing a security issue -- Interacting with branches in remote repositories -- Upstream and downstream -- Remote-tracking branches and refspec -- Remote-tracking branches -- Refspec -- remote to local branch mapping specification -- Fetching and pulling versus pushing -- Pull -- fetch and update current branch -- Pushing to the current branch in a nonbare remote repository -- The default fetch refspec and push modes -- Fetching and pushing branches and tags -- Fetching branches -- Fetching tags and automatic tag following -- Pushing branches and tags -- Push modes and their use -- The simple push mode -- the default -- The matching push mode for maintainers -- The upstream push mode for the centralized workflow -- The current push mode for the blessed repository workflow -- Summary -- Chapter 7: Merging Changes Together -- Methods of combining changes -- Merging branches.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">No divergence -- fast-forward and up-to-date cases -- Creating a merge commit -- Merge strategies and their options -- Reminder -- merge drivers -- Reminder -- signing merges and merging tags -- Copying and applying a changeset -- Cherry-pick -- creating a copy of a changeset -- Revert -- undoing an effect of a commit -- Applying a series of commits from patches -- Cherry-picking and reverting a merge -- Rebasing a branch -- Merge versus rebase -- Types of rebase -- Advanced rebasing techniques -- Resolving merge conflicts -- The three-way merge -- Examining failed merges -- Conflict markers in the worktree -- Three stages in the index -- Examining differences -- the combined diff format -- How do we get there: git log -- merge -- Avoiding merge conflicts -- Useful merge options -- Rerere -- reuse recorded resolutions -- Dealing with merge conflicts -- Aborting a merge -- Selecting ours or theirs version -- Scriptable fixes -- manual file remerging -- Using graphical merge tools -- Marking files as resolved and finalizing merges -- Resolving rebase conflicts -- git-imerge -- incremental merge and rebase for git -- Summary -- Chapter 8: Keeping History Clean -- An introduction to Git internals -- Git objects -- The plumbing and porcelain Git commands -- Environment variables used by Git -- Environment variables affecting global behavior -- Environment variables affecting repository locations -- Environment variables affecting committing -- Rewriting history -- Amending the last commit -- An interactive rebase -- Reordering, removing, and fixing commits -- Squashing commits -- Splitting commits -- Testing each rebased commit -- External tools -- patch management interfaces -- Scripted rewrite with the git filter-branch -- Running the filter-branch without filters -- Available filter types for filter-branch and their use -- Examples of using the git filter-branch.</subfield></datafield><datafield tag="630" ind1="0" ind2="0"><subfield code="a">Git (Computer file)</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2013035657</subfield></datafield><datafield tag="630" ind1="0" ind2="7"><subfield code="a">Git (Computer file)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Software engineering.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh87007398</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Open source software.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh99003437</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Electronic data processing</subfield><subfield code="x">Distributed processing.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85042293</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Génie logiciel.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Logiciels libres.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Traitement réparti.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming</subfield><subfield code="x">Open Source.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Software Development & Engineering</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Electronic data processing</subfield><subfield code="x">Distributed processing</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Open source software</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Software engineering</subfield><subfield code="2">fast</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Community experience distilled.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2011030603</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-862</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225882</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-863</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225882</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1225882</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-862</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn948621884 |
illustrated | Illustrated |
indexdate | 2025-03-18T14:22:51Z |
institution | BVB |
isbn | 9781783553761 1783553766 |
language | English |
oclc_num | 948621884 |
open_access_boolean | |
owner | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
owner_facet | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
physical | 1 online resource (1 volume) : illustrations |
psigel | ZDB-4-EBA FWS_PDA_EBA ZDB-4-EBA |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | Packt Publishing, |
record_format | marc |
series | Community experience distilled. |
series2 | Community experience distilled |
spelling | Narębski, Jakub, author. Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / Jakub Narębski. Birmingham, UK : Packt Publishing, 2016. 1 online resource (1 volume) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier Community experience distilled Online resource; title from cover (Safari, viewed May 3, 2016). Includes index. Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as?user-unfriendly?. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the ... Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Git Basics in Practice -- An introduction to version control and Git -- Git by example -- Repository setup -- Creating a Git repository -- Cloning the repository and creating the first commit -- Publishing changes -- Examining history and viewing changes -- Renaming and moving files -- Updating your repository (with merge) -- Creating a tag -- Resolving a merge conflict -- Adding files in bulk and removing files -- Undoing changes to a file -- Creating a new branch -- Merging a branch (no conflicts) -- Undoing an unpublished merge -- Summary -- Chapter 2: Exploring Project History -- Directed Acyclic Graphs -- Whole-tree commits -- Branches and tags -- Branch points -- Merge commits -- Single revision selection -- HEAD -- the implicit revision -- Branch and tag references -- SHA-1 and the shortened SHA-1 identifier -- Ancestry references -- Reverse ancestry references: the git describe output -- Reflog shortnames -- Upstream of remote-tracking branches -- Selecting revision by the commit message -- Selecting the revision range -- Single revision as a revision range -- Double dot notation -- Multiple points -- including and excluding revisions -- The revision range for a single revision -- Triple-dot notation -- Searching history -- Limiting the number of revisions -- Matching revision metadata -- Time-limiting options -- Matching commit contents -- Commit parents -- Searching changes in revisions -- Selecting types of change -- History of a file -- Path limiting -- History simplification -- Blame -- the line-wise history of a file -- Finding bugs with git bisect -- Selecting and formatting the git log output -- Predefined and user defined output formats -- Including, formatting, and summing up changes. Summarizing contributions -- Viewing a revision and a file at revision -- Summary -- Chapter 3: Developing with Git -- Creating a new commit -- The DAG view of creating a new commit -- The index -- a staging area for commits -- Examining the changes to be committed -- The status of the working directory -- Examining differences from the last revision -- Unified Git diff format -- Selective commit -- Selecting files to commit -- Interactively selecting changes -- Creating a commit step by step -- Amending a commit -- Working with branches -- Creating a new branch -- Creating orphan branches -- Selecting and switching to a branch -- Obstacles to switching to a branch -- Anonymous branches -- Git checkout DWIM-mery -- Listing branches -- Rewinding or resetting a branch -- Deleting a branch -- Changing the branch name -- Summary -- Chapter 4: Managing Your Worktree -- Ignoring files -- Marking files as intentionally untracked -- Which types of file should be ignored? -- Listing ignored files -- Ignoring changes in tracked files -- File attributes -- Identifying binary files and end-of-line conversions -- Diff and merge configuration -- Generating diffs and binary files -- Configuring diff output -- Performing a 3-way merge -- Transforming files (content filtering) -- Obligatory file transformations -- Keyword expansion and substitution -- Other built-in attributes -- Defining attribute macros -- Fixing mistakes with the reset command -- Rewinding the branch head, softly -- Removing or amending a commit -- Squashing commits with reset -- Resetting the branch head and the index -- Splitting a commit with reset -- Saving and restoring state with the WIP commit -- Discarding changes and rewinding branch -- Moving commits to a feature branch -- Undoing a merge or a pull -- Safer reset -- keeping your changes -- Rebase changes to an earlier revision. Stashing away your changes -- Using git stash -- Stash and the staging area -- Stash internals -- Un-applying a stash -- Recovering stashes that were dropped erroneously -- Managing worktrees and the staging area -- Examining files and directories -- Searching file contents -- Un-tracking, un-staging, and un-modifying files -- Resetting a file to the old version -- Cleaning the working area -- Multiple working directories -- Summary -- Chapter 5: Collaborative Development with Git -- Collaborative workflows -- Bare repositories -- Interacting with other repositories -- The centralized workflow -- The peer-to-peer or forking workflow -- The maintainer or integration manager workflow -- The hierarchical or dictator and lieutenants workflows -- Managing remote repositories -- The origin remote -- Listing and examining remotes -- Adding a new remote -- Updating information about remotes -- Renaming remotes -- Changing the remote URLs -- Changing the list of branches tracked by remote -- Setting the default branch of remote -- Deleting remote-tracking branches -- Support for triangular workflows -- Transport protocols -- Local transport -- Smart transports -- Native Git protocol -- SSH protocol -- Smart HTTP(S) protocol -- Offline transport with bundles -- Cloning and updating with bundle -- Using bundle to update an existing repository -- Utilizing bundle to help with the initial clone -- Remote transport helpers -- Transport relay with remote helpers -- Using foreign SCM repositories as remotes -- Credentials/password management -- Asking for passwords -- Public key authentication for SSH -- Credential helpers -- Publishing your changes upstream -- Pushing to a public repository -- Generating a pull request -- Exchanging patches -- Chain of trust -- Content-addressed storage -- Lightweight, annotated, and signed tags -- Lightweight tags. Annotated tags -- Signed tags -- Publishing tags -- Tag verification -- Signed commits -- Merging signed tags (merge tags) -- Summary -- Chapter 6: Advanced Branching Techniques -- Types and purposes of branches -- Long-running, perpetual branches -- Integration, graduation, or progressive-stability branches -- Per-release branches and per-release maintenance -- Hotfix branches for security fixes -- Per-customer or per-deployment branches -- Automation branches -- Mob branches for anonymous push access -- The orphan branch trick -- Short-lived branches -- Topic or feature branches -- Bugfix branches -- Detached HEAD -- the anonymous branch -- Branching workflows and release engineering -- The release and trunk branches workflow -- The graduation, or progressive-stability branches workflow -- The topic branches workflow -- Graduation branches in a topic branch workflow -- Branch management for a release in a topic branch workflow -- Git-flow -- a successful Git branching model -- Fixing a security issue -- Interacting with branches in remote repositories -- Upstream and downstream -- Remote-tracking branches and refspec -- Remote-tracking branches -- Refspec -- remote to local branch mapping specification -- Fetching and pulling versus pushing -- Pull -- fetch and update current branch -- Pushing to the current branch in a nonbare remote repository -- The default fetch refspec and push modes -- Fetching and pushing branches and tags -- Fetching branches -- Fetching tags and automatic tag following -- Pushing branches and tags -- Push modes and their use -- The simple push mode -- the default -- The matching push mode for maintainers -- The upstream push mode for the centralized workflow -- The current push mode for the blessed repository workflow -- Summary -- Chapter 7: Merging Changes Together -- Methods of combining changes -- Merging branches. No divergence -- fast-forward and up-to-date cases -- Creating a merge commit -- Merge strategies and their options -- Reminder -- merge drivers -- Reminder -- signing merges and merging tags -- Copying and applying a changeset -- Cherry-pick -- creating a copy of a changeset -- Revert -- undoing an effect of a commit -- Applying a series of commits from patches -- Cherry-picking and reverting a merge -- Rebasing a branch -- Merge versus rebase -- Types of rebase -- Advanced rebasing techniques -- Resolving merge conflicts -- The three-way merge -- Examining failed merges -- Conflict markers in the worktree -- Three stages in the index -- Examining differences -- the combined diff format -- How do we get there: git log -- merge -- Avoiding merge conflicts -- Useful merge options -- Rerere -- reuse recorded resolutions -- Dealing with merge conflicts -- Aborting a merge -- Selecting ours or theirs version -- Scriptable fixes -- manual file remerging -- Using graphical merge tools -- Marking files as resolved and finalizing merges -- Resolving rebase conflicts -- git-imerge -- incremental merge and rebase for git -- Summary -- Chapter 8: Keeping History Clean -- An introduction to Git internals -- Git objects -- The plumbing and porcelain Git commands -- Environment variables used by Git -- Environment variables affecting global behavior -- Environment variables affecting repository locations -- Environment variables affecting committing -- Rewriting history -- Amending the last commit -- An interactive rebase -- Reordering, removing, and fixing commits -- Squashing commits -- Splitting commits -- Testing each rebased commit -- External tools -- patch management interfaces -- Scripted rewrite with the git filter-branch -- Running the filter-branch without filters -- Available filter types for filter-branch and their use -- Examples of using the git filter-branch. Git (Computer file) http://id.loc.gov/authorities/names/n2013035657 Git (Computer file) fast Software engineering. http://id.loc.gov/authorities/subjects/sh87007398 Open source software. http://id.loc.gov/authorities/subjects/sh99003437 Electronic data processing Distributed processing. http://id.loc.gov/authorities/subjects/sh85042293 Génie logiciel. Logiciels libres. Traitement réparti. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Electronic data processing Distributed processing fast Open source software fast Software engineering fast Community experience distilled. http://id.loc.gov/authorities/names/no2011030603 |
spellingShingle | Narębski, Jakub Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / Community experience distilled. Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Git Basics in Practice -- An introduction to version control and Git -- Git by example -- Repository setup -- Creating a Git repository -- Cloning the repository and creating the first commit -- Publishing changes -- Examining history and viewing changes -- Renaming and moving files -- Updating your repository (with merge) -- Creating a tag -- Resolving a merge conflict -- Adding files in bulk and removing files -- Undoing changes to a file -- Creating a new branch -- Merging a branch (no conflicts) -- Undoing an unpublished merge -- Summary -- Chapter 2: Exploring Project History -- Directed Acyclic Graphs -- Whole-tree commits -- Branches and tags -- Branch points -- Merge commits -- Single revision selection -- HEAD -- the implicit revision -- Branch and tag references -- SHA-1 and the shortened SHA-1 identifier -- Ancestry references -- Reverse ancestry references: the git describe output -- Reflog shortnames -- Upstream of remote-tracking branches -- Selecting revision by the commit message -- Selecting the revision range -- Single revision as a revision range -- Double dot notation -- Multiple points -- including and excluding revisions -- The revision range for a single revision -- Triple-dot notation -- Searching history -- Limiting the number of revisions -- Matching revision metadata -- Time-limiting options -- Matching commit contents -- Commit parents -- Searching changes in revisions -- Selecting types of change -- History of a file -- Path limiting -- History simplification -- Blame -- the line-wise history of a file -- Finding bugs with git bisect -- Selecting and formatting the git log output -- Predefined and user defined output formats -- Including, formatting, and summing up changes. Summarizing contributions -- Viewing a revision and a file at revision -- Summary -- Chapter 3: Developing with Git -- Creating a new commit -- The DAG view of creating a new commit -- The index -- a staging area for commits -- Examining the changes to be committed -- The status of the working directory -- Examining differences from the last revision -- Unified Git diff format -- Selective commit -- Selecting files to commit -- Interactively selecting changes -- Creating a commit step by step -- Amending a commit -- Working with branches -- Creating a new branch -- Creating orphan branches -- Selecting and switching to a branch -- Obstacles to switching to a branch -- Anonymous branches -- Git checkout DWIM-mery -- Listing branches -- Rewinding or resetting a branch -- Deleting a branch -- Changing the branch name -- Summary -- Chapter 4: Managing Your Worktree -- Ignoring files -- Marking files as intentionally untracked -- Which types of file should be ignored? -- Listing ignored files -- Ignoring changes in tracked files -- File attributes -- Identifying binary files and end-of-line conversions -- Diff and merge configuration -- Generating diffs and binary files -- Configuring diff output -- Performing a 3-way merge -- Transforming files (content filtering) -- Obligatory file transformations -- Keyword expansion and substitution -- Other built-in attributes -- Defining attribute macros -- Fixing mistakes with the reset command -- Rewinding the branch head, softly -- Removing or amending a commit -- Squashing commits with reset -- Resetting the branch head and the index -- Splitting a commit with reset -- Saving and restoring state with the WIP commit -- Discarding changes and rewinding branch -- Moving commits to a feature branch -- Undoing a merge or a pull -- Safer reset -- keeping your changes -- Rebase changes to an earlier revision. Stashing away your changes -- Using git stash -- Stash and the staging area -- Stash internals -- Un-applying a stash -- Recovering stashes that were dropped erroneously -- Managing worktrees and the staging area -- Examining files and directories -- Searching file contents -- Un-tracking, un-staging, and un-modifying files -- Resetting a file to the old version -- Cleaning the working area -- Multiple working directories -- Summary -- Chapter 5: Collaborative Development with Git -- Collaborative workflows -- Bare repositories -- Interacting with other repositories -- The centralized workflow -- The peer-to-peer or forking workflow -- The maintainer or integration manager workflow -- The hierarchical or dictator and lieutenants workflows -- Managing remote repositories -- The origin remote -- Listing and examining remotes -- Adding a new remote -- Updating information about remotes -- Renaming remotes -- Changing the remote URLs -- Changing the list of branches tracked by remote -- Setting the default branch of remote -- Deleting remote-tracking branches -- Support for triangular workflows -- Transport protocols -- Local transport -- Smart transports -- Native Git protocol -- SSH protocol -- Smart HTTP(S) protocol -- Offline transport with bundles -- Cloning and updating with bundle -- Using bundle to update an existing repository -- Utilizing bundle to help with the initial clone -- Remote transport helpers -- Transport relay with remote helpers -- Using foreign SCM repositories as remotes -- Credentials/password management -- Asking for passwords -- Public key authentication for SSH -- Credential helpers -- Publishing your changes upstream -- Pushing to a public repository -- Generating a pull request -- Exchanging patches -- Chain of trust -- Content-addressed storage -- Lightweight, annotated, and signed tags -- Lightweight tags. Annotated tags -- Signed tags -- Publishing tags -- Tag verification -- Signed commits -- Merging signed tags (merge tags) -- Summary -- Chapter 6: Advanced Branching Techniques -- Types and purposes of branches -- Long-running, perpetual branches -- Integration, graduation, or progressive-stability branches -- Per-release branches and per-release maintenance -- Hotfix branches for security fixes -- Per-customer or per-deployment branches -- Automation branches -- Mob branches for anonymous push access -- The orphan branch trick -- Short-lived branches -- Topic or feature branches -- Bugfix branches -- Detached HEAD -- the anonymous branch -- Branching workflows and release engineering -- The release and trunk branches workflow -- The graduation, or progressive-stability branches workflow -- The topic branches workflow -- Graduation branches in a topic branch workflow -- Branch management for a release in a topic branch workflow -- Git-flow -- a successful Git branching model -- Fixing a security issue -- Interacting with branches in remote repositories -- Upstream and downstream -- Remote-tracking branches and refspec -- Remote-tracking branches -- Refspec -- remote to local branch mapping specification -- Fetching and pulling versus pushing -- Pull -- fetch and update current branch -- Pushing to the current branch in a nonbare remote repository -- The default fetch refspec and push modes -- Fetching and pushing branches and tags -- Fetching branches -- Fetching tags and automatic tag following -- Pushing branches and tags -- Push modes and their use -- The simple push mode -- the default -- The matching push mode for maintainers -- The upstream push mode for the centralized workflow -- The current push mode for the blessed repository workflow -- Summary -- Chapter 7: Merging Changes Together -- Methods of combining changes -- Merging branches. No divergence -- fast-forward and up-to-date cases -- Creating a merge commit -- Merge strategies and their options -- Reminder -- merge drivers -- Reminder -- signing merges and merging tags -- Copying and applying a changeset -- Cherry-pick -- creating a copy of a changeset -- Revert -- undoing an effect of a commit -- Applying a series of commits from patches -- Cherry-picking and reverting a merge -- Rebasing a branch -- Merge versus rebase -- Types of rebase -- Advanced rebasing techniques -- Resolving merge conflicts -- The three-way merge -- Examining failed merges -- Conflict markers in the worktree -- Three stages in the index -- Examining differences -- the combined diff format -- How do we get there: git log -- merge -- Avoiding merge conflicts -- Useful merge options -- Rerere -- reuse recorded resolutions -- Dealing with merge conflicts -- Aborting a merge -- Selecting ours or theirs version -- Scriptable fixes -- manual file remerging -- Using graphical merge tools -- Marking files as resolved and finalizing merges -- Resolving rebase conflicts -- git-imerge -- incremental merge and rebase for git -- Summary -- Chapter 8: Keeping History Clean -- An introduction to Git internals -- Git objects -- The plumbing and porcelain Git commands -- Environment variables used by Git -- Environment variables affecting global behavior -- Environment variables affecting repository locations -- Environment variables affecting committing -- Rewriting history -- Amending the last commit -- An interactive rebase -- Reordering, removing, and fixing commits -- Squashing commits -- Splitting commits -- Testing each rebased commit -- External tools -- patch management interfaces -- Scripted rewrite with the git filter-branch -- Running the filter-branch without filters -- Available filter types for filter-branch and their use -- Examples of using the git filter-branch. Git (Computer file) http://id.loc.gov/authorities/names/n2013035657 Git (Computer file) fast Software engineering. http://id.loc.gov/authorities/subjects/sh87007398 Open source software. http://id.loc.gov/authorities/subjects/sh99003437 Electronic data processing Distributed processing. http://id.loc.gov/authorities/subjects/sh85042293 Génie logiciel. Logiciels libres. Traitement réparti. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Electronic data processing Distributed processing fast Open source software fast Software engineering fast |
subject_GND | http://id.loc.gov/authorities/names/n2013035657 http://id.loc.gov/authorities/subjects/sh87007398 http://id.loc.gov/authorities/subjects/sh99003437 http://id.loc.gov/authorities/subjects/sh85042293 |
title | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / |
title_auth | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / |
title_exact_search | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / |
title_full | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / Jakub Narębski. |
title_fullStr | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / Jakub Narębski. |
title_full_unstemmed | Mastering Git : attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / Jakub Narębski. |
title_short | Mastering Git : |
title_sort | mastering git attain expert level proficiency with git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features |
title_sub | attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features / |
topic | Git (Computer file) http://id.loc.gov/authorities/names/n2013035657 Git (Computer file) fast Software engineering. http://id.loc.gov/authorities/subjects/sh87007398 Open source software. http://id.loc.gov/authorities/subjects/sh99003437 Electronic data processing Distributed processing. http://id.loc.gov/authorities/subjects/sh85042293 Génie logiciel. Logiciels libres. Traitement réparti. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Electronic data processing Distributed processing fast Open source software fast Software engineering fast |
topic_facet | Git (Computer file) Software engineering. Open source software. Electronic data processing Distributed processing. Génie logiciel. Logiciels libres. Traitement réparti. COMPUTERS Programming Open Source. COMPUTERS Software Development & Engineering General. Electronic data processing Distributed processing Open source software Software engineering |
work_keys_str_mv | AT narebskijakub masteringgitattainexpertlevelproficiencywithgitforenhancedproductivityandefficientcollaborationbymasteringadvanceddistributedversioncontrolfeatures |