



<!doctype html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      <meta http-equiv="x-ua-compatible" content="ie=edge">
      
      
      
      
        <meta name="lang:clipboard.copy" content="Copy to clipboard">
      
        <meta name="lang:clipboard.copied" content="Copied to clipboard">
      
        <meta name="lang:search.language" content="en">
      
        <meta name="lang:search.pipeline.stopwords" content="True">
      
        <meta name="lang:search.pipeline.trimmer" content="True">
      
        <meta name="lang:search.result.none" content="No matching documents">
      
        <meta name="lang:search.result.one" content="1 matching document">
      
        <meta name="lang:search.result.other" content="# matching documents">
      
        <meta name="lang:search.tokenizer" content="[\s\-]+">
      
      <link rel="shortcut icon" href="../../assets/images/favicon.png">
      <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.3">
    
    
      
        <title>Git Started - Team Bliss</title>
      
    
    
      <link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
      
      
    
    
      <script src="../../assets/javascripts/modernizr.74668098.js"></script>
    
    
      
        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
      
    
    <link rel="stylesheet" href="../../assets/fonts/material-icons.css">
    
    
    
      
    
    
  </head>
  
    <body dir="ltr">
  
    <svg class="md-svg">
      <defs>
        
        
      </defs>
    </svg>
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
    
      <a href="#git-started" tabindex="1" class="md-skip">
        Skip to content
      </a>
    
    
      <header class="md-header" data-md-component="header">
  <nav class="md-header-nav md-grid">
    <div class="md-flex">
      <div class="md-flex__cell md-flex__cell--shrink">
        <a href="../.." title="Team Bliss" class="md-header-nav__button md-logo">
          
            <i class="md-icon"></i>
          
        </a>
      </div>
      <div class="md-flex__cell md-flex__cell--shrink">
        <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
      </div>
      <div class="md-flex__cell md-flex__cell--stretch">
        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
          
            <span class="md-header-nav__topic">
              Team Bliss
            </span>
            <span class="md-header-nav__topic">
              
                Git Started
              
            </span>
          
        </div>
      </div>
      <div class="md-flex__cell md-flex__cell--shrink">
        
          <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
          
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
      <label class="md-icon md-search__icon" for="__search"></label>
      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
        &#xE5CD;
      </button>
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="result">
          <div class="md-search-result__meta">
            Type to start searching
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
        
      </div>
      
    </div>
  </nav>
</header>
    
    <div class="md-container">
      
        
      
      
      <main class="md-main" role="main">
        <div class="md-main__inner md-grid" data-md-component="container">
          
            
              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    <nav class="md-nav md-nav--primary" data-md-level="0">
  <label class="md-nav__title md-nav__title--site" for="__drawer">
    <a href="../.." title="Team Bliss" class="md-nav__button md-logo">
      
        <i class="md-icon"></i>
      
    </a>
    Team Bliss
  </label>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      


  <li class="md-nav__item">
    <a href="../.." title="Home" class="md-nav__link">
      Home
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
    
    <label class="md-nav__link" for="nav-2">
      Bliss OS
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-2">
        Bliss OS
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/" title="Index" class="md-nav__link">
      Index
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/build-guide/" title="Build Guide" class="md-nav__link">
      Build Guide
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/extras/" title="Extras" class="md-nav__link">
      Extras
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/installation-guide-misc/" title="Installation Guide (Misc)" class="md-nav__link">
      Installation Guide (Misc)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/installation-guide-surface-devices/" title="Installation Guide (Surface devices)" class="md-nav__link">
      Installation Guide (Surface devices)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/installation-guide/" title="Installation Guide" class="md-nav__link">
      Installation Guide
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/taking-bug-reports/" title="Taking bug reports" class="md-nav__link">
      Taking bug reports
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../Bliss OS/troubleshooting/" title="Troubleshooting" class="md-nav__link">
      Troubleshooting
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
    
    <label class="md-nav__link" for="nav-3">
      BlissRoms
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-3">
        BlissRoms
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../../BlissRoms/" title="Index" class="md-nav__link">
      Index
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../BlissRoms/build-guide/" title="Build Guide" class="md-nav__link">
      Build Guide
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../../BlissRoms/build-tips/" title="Build Tips" class="md-nav__link">
      Build Tips
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
    
    <label class="md-nav__link" for="nav-4">
      Common
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-4">
        Common
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../" title="Index" class="md-nav__link">
      Index
    </a>
  </li>

        
          
          
          

  


  <li class="md-nav__item md-nav__item--active">
    
    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
    
      
    
    
      <label class="md-nav__link md-nav__link--active" for="__toc">
        Git Started
      </label>
    
    <a href="./" title="Git Started" class="md-nav__link md-nav__link--active">
      Git Started
    </a>
    
      
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">Table of contents</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#foreword" class="md-nav__link">
    Foreword
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#installation" class="md-nav__link">
    Installation
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#get-the-terminal-set-up" class="md-nav__link">
    Get the terminal set up
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#register-at-gerrit" class="md-nav__link">
    Register at Gerrit
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#gerrit-shows-an-error-about-the-key" class="md-nav__link">
    Gerrit shows an error about the key!
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#reviewing-code" class="md-nav__link">
    Reviewing Code
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#my-output-is-blank-or-different-why" class="md-nav__link">
    My output is blank (or different.) Why?
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cherry-picking-commits-to-current-branch" class="md-nav__link">
    Cherry-picking commits to current branch
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cherry-picking-commits-to-new-branch" class="md-nav__link">
    Cherry-picking commits to new branch
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#submitting-code" class="md-nav__link">
    Submitting code
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#picking-from-other-sources" class="md-nav__link">
    Picking from other sources
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#conclusion" class="md-nav__link">
    Conclusion
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
    
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../maintaining-proper-authorship/" title="Maintaining proper authorship" class="md-nav__link">
      Maintaining proper authorship
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../using-dippy-bird/" title="Using `dippy-bird`" class="md-nav__link">
      Using `dippy-bird`
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
    
    <label class="md-nav__link" for="nav-5">
      Infrastructure
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-5">
        Infrastructure
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../../infrastructure/" title="Index" class="md-nav__link">
      Index
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">Table of contents</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#foreword" class="md-nav__link">
    Foreword
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#installation" class="md-nav__link">
    Installation
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#get-the-terminal-set-up" class="md-nav__link">
    Get the terminal set up
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#register-at-gerrit" class="md-nav__link">
    Register at Gerrit
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#gerrit-shows-an-error-about-the-key" class="md-nav__link">
    Gerrit shows an error about the key!
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#reviewing-code" class="md-nav__link">
    Reviewing Code
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#my-output-is-blank-or-different-why" class="md-nav__link">
    My output is blank (or different.) Why?
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cherry-picking-commits-to-current-branch" class="md-nav__link">
    Cherry-picking commits to current branch
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#cherry-picking-commits-to-new-branch" class="md-nav__link">
    Cherry-picking commits to new branch
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#submitting-code" class="md-nav__link">
    Submitting code
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#picking-from-other-sources" class="md-nav__link">
    Picking from other sources
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#conclusion" class="md-nav__link">
    Conclusion
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content">
            <article class="md-content__inner md-typeset">
              
                
                
                <h1 id="git-started">Git Started</h1>
<h2 id="foreword">Foreword</h2>
<p>This guide helps people learn <code>git</code> commands and how to get the features you want into your favorite ROM and make your own builds. This will help new people get started and will be a great refresher for veteran <code>git</code> users and has instructions for Arch Linux users as well. The document will be ever-changing and evolving because even we will be learning new material and will be putting it in here.</p>
<h3 id="installation">Installation</h3>
<p>In order to use <code>git review</code> we need it installed on our local machine.  For Ubuntu we use the package manager to install it.</p>
<pre><code>sudo apt-get install git-review
</code></pre>
<p>Or for Arch based installs, use:</p>
<pre><code>sudo pacman -S git-review
</code></pre>
<h3 id="get-the-terminal-set-up">Get the terminal set up</h3>
<p>First, let's make sure our local <code>git</code> and Gerrit have the same email address associated.</p>
<pre><code>cd
cat .gitconfig
</code></pre>
<p>This command should show something along those lines:</p>
<pre><code>[user]
email = you@youremail.com
name = Your Name
</code></pre>
<p>Edit any incorrect details. Your email and name is used to sign off commits, various changes, etc, so it is important that they are the same ones found on Gerrit and GitHub.</p>
<p>Next we will create a SSH key named “gerrit” to communicate with the Gerrit server.</p>
<pre><code>ssh-keygen -t rsa -C you@youremail.com -f ~/.ssh/gerrit
</code></pre>
<p>Again, note the email address must be the same here, your <code>.gitconfig</code>, and on Gerrit.</p>
<h3 id="register-at-gerrit">Register at Gerrit</h3>
<p>Open your favorite browser and go to <a href="http://review.blissroms.com">http://review.blissroms.com</a>. You will see a “Sign In” button on the top right - click that and register with GitHub.  Please note that you will need to use the same email address that you registered with GitHub for your terminal interactions with Gerrit.</p>
<p>Now we need to add our SSH key to Gerrit. Your name will be on the top right of the page.  Click your name and you should see “Settings”.  Once there click on the link “SSH Public Keys” on the left sidebar. Once it loads, click "Add Key" on the right.</p>
<p>Let's copy the key from the terminal and paste it into the browser.</p>
<pre><code>cat ~/.ssh/gerrit.pub
</code></pre>
<p>This should show something like:</p>
<pre><code>ssh-rsa AAAABBBBBBBBBBCCCCCCCCCCCCCCCCCCDjhl8768usdfsdfuhf/BlahBlahBlah/ThIs+1s/A/fAk3+k3Y/Hdhs+PlCesTvQqfaqHTHwdzGhn2lKVt14WYvQEDKVM9JoE9e8xarNWYa0ZspB1MGn2RVJ3xRp0+Q/pA237uBCl62yTbVGtKQBZB6Q+7A54z795U+G2wCb1rAQnI5yn5q/pQ4NhB0BLml/QRmjn/S8PldEge9Hfdh4Ifdk4r9DKSiicf7IK56jklDHKkJDFkjh/3345L10sTyre3JOeZyvr5SJdyqMtmMv+uSGF28fgZ6/OEO/yBY/eYEI/XVRDaRRat8nGHGae0T4dx me@myemail.com
</code></pre>
<p>Starting with the line beginning with ssh-rsa and ending with the email, paste that bit into the browser and click “Add”.</p>
<h4 id="gerrit-shows-an-error-about-the-key">Gerrit shows an error about the key!</h4>
<p>Are you sure you used the correct key? Do not use the "private" key. The private key should be kept private as it is the key that allows you to authenticate yourself against servers like Gerrit. When you authenticate using your private key, the servers send out requests encrypted with your "public" key that only your "private" key can decrypt. This is the basis behind SSH authentication. So keep your private key safe, and try pasting the public key! Most public keys end with the characters <code>.pub</code>.</p>
<p>Then, add the new SSH key to your local identity in terminal.</p>
<pre><code>eval `ssh-agent`
</code></pre>
<p>This should print off a bunch of lines. We’re doing this to launch the ssh-agent before adding the key.</p>
<pre><code>ssh-add ~/.ssh/gerrit
</code></pre>
<p>This will result in something along the lines of:</p>
<pre><code>Identity added: /home/yourusername/.ssh/gerrit (/home/yourusername/.ssh/gerrit)
</code></pre>
<p>If you don’t get this, and get this instead:</p>
<pre><code>Could not open a connection to your authentication agent.
</code></pre>
<p>Or this:</p>
<pre><code>Error connecting to agent: No such file or directory.
</code></pre>
<p>This is because in recent versions of Ubuntu, you need to change how you launch <code>ssh-agent</code>. Run the command below, then try adding your SSH key again.</p>
<pre><code>eval “$(ssh-agent)”
</code></pre>
<p>Now we should be ready to use <code>git review</code>.</p>
<h3 id="reviewing-code">Reviewing Code</h3>
<p>Just <code>cd</code> to your source code directory and find the package you want to look at from Gerrit.  I’ll use <code>frameworks/base</code> as an example.</p>
<pre><code># cd into source code directory
cd ~/bliss/p9.0

# Find project to work on
cd frameworks/base
</code></pre>
<p>Let’s setup the remote to Gerrit:</p>
<pre><code>git review -s
</code></pre>
<p>This should create a <code>gerrit</code> remote.  If you added a passphrase to your SSH key you will have to enter that.</p>
<p>However, if this command outputs something like this:</p>
<pre><code>Could not connect to gerrit.
Enter your gerrit username:
</code></pre>
<p>And after you input your username, it shows something like this:</p>
<pre><code>Trying again with ssh://username@review.blissroms.com:29418/platform_frameworks_base.git
&lt;traceback object at 0x7f7f95ea9e18&gt;
We don't know where your gerrit is. Please manually create a remote named "gerrit" and try again.
Could not connect to gerrit at ssh://username@review.blissroms.com:29418/platform_frameworks_base.git
Traceback (most recent call last):
  File "/usr/bin/git-review", line 10, in &lt;module&gt;
    sys.exit(main())
  File "/usr/lib/python2.7/dist-packages/git_review/cmd.py", line 1534, in main
    sys.exit(e.EXIT_CODE)
AttributeError: 'GitReviewException' object has no attribute 'EXIT_CODE'
</code></pre>
<p>Why does this happen? This is because the <code>ssh-agent</code> process got killed after prolonged use of the system, so you need to restart it.</p>
<p>As a quick and dirty fix, run this again:</p>
<pre><code>eval “$(ssh-agent)”
</code></pre>
<p>This should fix it. If not, then you need to go back to Chapter 1 and add your existing key. Don’t make a new key, then you’d need to add a new public key to the Bliss Gerrit.</p>
<p>Now let’s see if there are any changes we can review.</p>
<pre><code>git review -l
</code></pre>
<p>This outputs:</p>
<pre><code>2433  new-mm6.0  SystemUI: fix double tap power launching custom lockscreen icon
2432  new-mm6.0  SystemUI: remove extraneous debug log
Found 2 items for review
</code></pre>
<h4 id="my-output-is-blank-or-different-why">My output is blank (or different.) Why?</h4>
<p>This is because right now, there are no changes to be reviewed in <code>frameworks/base</code> (or there are different commits to be reviewed.) This is completely normal and to be expected, as we merge and submit new commits frequently. The guide will probably be out of sync with current changes by the time you are reading this.</p>
<p>Now you have a list of commits sorted by change number with a description of what changes were made.</p>
<p>We have a few choices of how to pick commits.</p>
<h4 id="cherry-picking-commits-to-current-branch">Cherry-picking commits to current branch</h4>
<pre><code>git review -x changenumber
</code></pre>
<p>will cherry-pick that commit to the current branch you are in.  A benefit of this is the next time you <code>repo sync –force-sync</code>, it will discard the commits you picked.</p>
<h4 id="cherry-picking-commits-to-new-branch">Cherry-picking commits to new branch</h4>
<pre><code>git review -d changenumber
</code></pre>
<p>will cherry-pick to a new branch based on the submitter’s name and change ID.  If you choose this route the change will be in its own branch and when you are done you can just delete that branch.</p>
<pre><code>Switched to a new branch review/yourusername/changenumber
</code></pre>
<p>Now you can review the change. Follow these guidelines:</p>
<ul>
<li>Did the ROM build with the change incorporated?</li>
<li>Did the added feature or fix work in the new build?</li>
<li>Did the new commit break any other aspects of the build?</li>
</ul>
<p>After reviewing these guidelines, log into Gerrit via your web browser, and click on the commit you reviewed. Select the ‘Reply’ button on the top and choose your score. +1 if it works as intended, -1 if not. Be sure to leave comments on why you gave your score (such as “commit A does not show in 320 DPI”, etc)</p>
<p>Once you're done, return to the base directory (<code>croot</code>) to follow along with the next example!</p>
<h3 id="submitting-code">Submitting code</h3>
<p>Go to the directory of the package or app you want to make changes to. We will use <code>frameworks/base</code> as an example.</p>
<pre><code>cd frameworks/base
</code></pre>
<p>Setup the remote to Gerrit if you haven’t already:</p>
<pre><code>git review -s
</code></pre>
<p>Next, make sure you are on the correct branch:</p>
<pre><code>git branch -t p9.0 BlissRoms/p9.0
</code></pre>
<p>This makes sure that your local branch follows the remote branch. <code>-t</code> stands for tracking. Now we need to <code>checkout</code>, to switch to that new branch we tracked. You usually do not need to do the above command, but it is a nice check to do if something is going south.</p>
<pre><code>git checkout p9.0
</code></pre>
<p>This should output:</p>
<pre><code>Changed to new branch p9.0 tracking upstream BlissRoms/p9.0
</code></pre>
<p>Now make your changes, cherry-picks, etc. and commit them. If you need a guide to do that, check out <a href="#picking-from-other-sources">Picking from other sources</a>. When you’re done, come back here! Then all you have to do to send it to gerrit is:</p>
<pre><code>git review
</code></pre>
<p>If you are submitting multiple commits it will ask if you really want to, just type “yes” at the prompt.</p>
<h3 id="picking-from-other-sources">Picking from other sources</h3>
<p>So you’ve successfully learned how to commit and send it to Bliss Gerrit. But you need to find something to commit. Thankfully, there are lots of examples you can try out. You can check other teams’ Gerrits and cherry-pick from them.</p>
<p>For this demonstration, I’m going to use LineageOS's Gerrit. Find the commit you want, and note down the commit ID.</p>
<p>Now, we need to add LOS’s repositories. If you’re pulling over a commit, you must make sure that we track the repository by going to Bliss’s Gerrit and checking in Projects &gt; List. If the repository is not there, it usually means we aren’t tracking it.</p>
<pre><code>git remote add los https://github.com/LineageOS/……(your repo name)
git remote fetch los lineage-16.0
</code></pre>
<p>We’ve finished adding LOS’s repositories. Now you need to grab the commit ID you copied earlier and paste it on the command underneath.</p>
<pre><code>git cherry-pick 9ff831
</code></pre>
<p>Replace 9ff831 with your own commit ID. If <code>git</code> complains about duplicate revisions, paste the full SHA1 hash instead of the shorthand <code>git</code> uses.</p>
<p>Before pushing and submitting, we need to check if our commit was successfully committed. Type the bottom command:</p>
<pre><code>git log --oneline
</code></pre>
<p>After you check that your commit is there, you can push <code>q</code> to quit. Then you can follow the instructions from <a href="#submitting-code">Submitting code</a> again.</p>
<h3 id="conclusion">Conclusion</h3>
<p>Don’t worry if you don’t get it at once. It’s a fairly long process of submitting and reviewing at Gerrit. Read the guide again and again and you’ll start to remember commands without looking at this. I will continue with this as I learn more things, I hope this has helped someone.</p>
<p>-- Vaughn (rwaterspf1)</p>
<p>-- Eric Park (ideaman924)</p>
<p>-- Jon West (electrikjesus)</p>
                
                  
                
              
              
                


              
            </article>
          </div>
        </div>
      </main>
      
        
<footer class="md-footer">
  
    <div class="md-footer-nav">
      <nav class="md-footer-nav__inner md-grid">
        
          <a href="../" title="Index" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
            <div class="md-flex__cell md-flex__cell--shrink">
              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
            </div>
            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
              <span class="md-flex__ellipsis">
                <span class="md-footer-nav__direction">
                  Previous
                </span>
                Index
              </span>
            </div>
          </a>
        
        
          <a href="../maintaining-proper-authorship/" title="Maintaining proper authorship" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
              <span class="md-flex__ellipsis">
                <span class="md-footer-nav__direction">
                  Next
                </span>
                Maintaining proper authorship
              </span>
            </div>
            <div class="md-flex__cell md-flex__cell--shrink">
              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
            </div>
          </a>
        
      </nav>
    </div>
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-footer-copyright">
        
        powered by
        <a href="https://www.mkdocs.org">MkDocs</a>
        and
        <a href="https://squidfunk.github.io/mkdocs-material/">
          Material for MkDocs</a>
      </div>
      
    </div>
  </div>
</footer>
      
    </div>
    
      <script src="../../assets/javascripts/application.ac79c3b0.js"></script>
      
      <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
      
    
  </body>
</html>