Difference between revisions of "GitLab CI"

(Created page with " =Basic Git commands= <p>Here is a list of some basic Git commands to get you going with Git.</p> <table class="confluenceTable"> <tbody> <tr> <th class="conflue...")
 
Line 5: Line 5:
  
 
<table class="confluenceTable">
 
<table class="confluenceTable">
   <tbody>
+
    
 
     <tr>
 
     <tr>
 
     <th class="confluenceTh">Git task</th>
 
     <th class="confluenceTh">Git task</th>
Line 12: Line 12:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td colspan="1" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-config">Tell Git who you are</a></strong></td>
+
     <td colspan="1" class="confluenceTd"><strong>Tell Git who you are</strong></td>
     <td colspan="1" class="confluenceTd">Configure the author name and email address to be used with your commits.<p>Note that Git <a rel="nofollow" class="external-link" href="http://stackoverflow.com/questions/26159274/is-it-possible-to-have-a-trailing-period-in-user-name-in-git/26219423#26219423">strips some characters</a> (for example trailing periods) from <code>user.name</code>.</p></td>
+
     <td colspan="1" class="confluenceTd">Configure the author name and email address to be used with your commits.<p>Note that Git strips some characters (for example trailing periods) from <code>user.name</code>.</p></td>
 
     <td colspan="1" class="confluenceTd"><code>git config --global user.name "Sam Smith"</code><p><code>git config&nbsp;--global&nbsp;user.email sam@example.com</code></p></td>
 
     <td colspan="1" class="confluenceTd"><code>git config --global user.name "Sam Smith"</code><p><code>git config&nbsp;--global&nbsp;user.email sam@example.com</code></p></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-init">Create a new local repository</a> </strong></td>
+
     <td class="confluenceTd"><strong>Create a new local repository </strong></td>
 
     <td class="confluenceTd">&nbsp;</td>
 
     <td class="confluenceTd">&nbsp;</td>
 
     <td class="confluenceTd"><pre>git init</pre></td>
 
     <td class="confluenceTd"><pre>git init</pre></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="2" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-clone">Check out a repository</a> </strong></td>
+
     <td rowspan="2" class="confluenceTd"><strong>Check out a repository</strong></td>
 
     <td class="confluenceTd">Create a working copy of a local repository:</td>
 
     <td class="confluenceTd">Create a working copy of a local repository:</td>
 
     <td class="confluenceTd"><pre>git clone /path/to/repository</pre></td>
 
     <td class="confluenceTd"><pre>git clone /path/to/repository</pre></td>
Line 31: Line 31:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/saving-changes#git-add">Add files</a> </strong></td>
+
     <td class="confluenceTd"><strong>Add files</strong></td>
 
     <td class="confluenceTd">Add one or more files to staging (index):</td>
 
     <td class="confluenceTd">Add one or more files to staging (index):</td>
 
     <td class="confluenceTd"><pre>git add &lt;filename&gt;
 
     <td class="confluenceTd"><pre>git add &lt;filename&gt;
Line 38: Line 38:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="2" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/saving-changes#git-commit">Commit</a> </strong></td>
+
     <td rowspan="2" class="confluenceTd"><strong>Commit </strong></td>
 
     <td colspan="1" class="confluenceTd">Commit changes to head (but not yet to the remote repository):</td>
 
     <td colspan="1" class="confluenceTd">Commit changes to head (but not yet to the remote repository):</td>
 
     <td colspan="1" class="confluenceTd"><pre>git commit -m "Commit message"</pre></td>
 
     <td colspan="1" class="confluenceTd"><pre>git commit -m "Commit message"</pre></td>
Line 47: Line 47:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td colspan="1" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/syncing#git-push">Push</a> </strong></td>
+
     <td colspan="1" class="confluenceTd"><strong>Push</strong></td>
 
     <td colspan="1" class="confluenceTd">Send changes to the master branch of your remote repository:</td>
 
     <td colspan="1" class="confluenceTd">Send changes to the master branch of your remote repository:</td>
 
     <td colspan="1" class="confluenceTd"><pre>git push origin master</pre></td>
 
     <td colspan="1" class="confluenceTd"><pre>git push origin master</pre></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td colspan="1" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/inspecting-a-repository#git-status">Status</a> </strong></td>
+
     <td colspan="1" class="confluenceTd"><strong>Status </strong></td>
 
     <td colspan="1" class="confluenceTd">List the files you've changed and those you still need to add or commit:</td>
 
     <td colspan="1" class="confluenceTd">List the files you've changed and those you still need to add or commit:</td>
 
     <td colspan="1" class="confluenceTd"><pre>git status</pre></td>
 
     <td colspan="1" class="confluenceTd"><pre>git status</pre></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="2" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/syncing#git-remote">Connect to a remote repository</a> </strong></td>
+
     <td rowspan="2" class="confluenceTd"><strong>Connect to a remote repository</strong></td>
 
     <td colspan="1" class="confluenceTd">If you haven't connected your local repository to a remote server, add the server to be able to push to it:</td>
 
     <td colspan="1" class="confluenceTd">If you haven't connected your local repository to a remote server, add the server to be able to push to it:</td>
 
     <td colspan="1" class="confluenceTd"><code>git remote add origin &lt;server&gt;</code></td>
 
     <td colspan="1" class="confluenceTd"><code>git remote add origin &lt;server&gt;</code></td>
Line 66: Line 66:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="7" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/using-branches">Branches</a> </strong></td>
+
     <td rowspan="7" class="confluenceTd"><strong>Branches </strong></td>
 
     <td colspan="1" class="confluenceTd">Create a new branch and switch to it:</td>
 
     <td colspan="1" class="confluenceTd">Create a new branch and switch to it:</td>
 
     <td colspan="1" class="confluenceTd"><pre>git checkout -b &lt;branchname&gt;</pre></td>
 
     <td colspan="1" class="confluenceTd"><pre>git checkout -b &lt;branchname&gt;</pre></td>
Line 95: Line 95:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="4" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/syncing">Update from the remote repository</a></strong></td>
+
     <td rowspan="4" class="confluenceTd"><strong>Update from the remote repository</strong></td>
 
     <td colspan="1" class="confluenceTd">Fetch and merge changes on the remote server to your working directory:</td>
 
     <td colspan="1" class="confluenceTd">Fetch and merge changes on the remote server to your working directory:</td>
 
     <td colspan="1" class="confluenceTd"><code>git pull</code></td>
 
     <td colspan="1" class="confluenceTd"><code>git pull</code></td>
Line 125: Line 125:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td rowspan="2" class="confluenceTd"><strong><a rel="nofollow" class="external-link" href="https://www.atlassian.com/git/tutorials/undoing-changes">Undo local changes</a> </strong></td>
+
     <td rowspan="2" class="confluenceTd"><strong>Undo local changes </strong></td>
 
     <td colspan="1" class="confluenceTd">If you mess up, you can replace the changes in your working tree with the last content in head:<p>Changes already added to the index, as well as new files, will be kept.</p></td>
 
     <td colspan="1" class="confluenceTd">If you mess up, you can replace the changes in your working tree with the last content in head:<p>Changes already added to the index, as well as new files, will be kept.</p></td>
 
     <td colspan="1" class="confluenceTd"><pre>git checkout -- &lt;filename&gt;</pre></td>
 
     <td colspan="1" class="confluenceTd"><pre>git checkout -- &lt;filename&gt;</pre></td>
Line 140: Line 140:
 
     <td colspan="1" class="confluenceTd"><code>git grep "foo()"</code></td>
 
     <td colspan="1" class="confluenceTd"><code>git grep "foo()"</code></td>
 
     </tr>
 
     </tr>
   </tbody>
+
    
 
   </table>
 
   </table>

Revision as of 00:00, 24 August 2018

Basic Git commands

Here is a list of some basic Git commands to get you going with Git.

Git task Notes Git commands
Tell Git who you are Configure the author name and email address to be used with your commits.

Note that Git strips some characters (for example trailing periods) from user.name.

git config --global user.name "Sam Smith"

git config --global user.email sam@example.com

Create a new local repository  
git init
Check out a repository Create a working copy of a local repository:
git clone /path/to/repository
For a remote server, use:
git clone username@host:/path/to/repository
Add files Add one or more files to staging (index):
git add <filename>

git add *
Commit Commit changes to head (but not yet to the remote repository):
git commit -m "Commit message"
Commit any files you've added with git add, and also commit any files you've changed since then:
git commit -a
Push Send changes to the master branch of your remote repository:
git push origin master
Status List the files you've changed and those you still need to add or commit:
git status
Connect to a remote repository If you haven't connected your local repository to a remote server, add the server to be able to push to it: git remote add origin <server>
List all currently configured remote repositories: git remote -v
Branches Create a new branch and switch to it:
git checkout -b <branchname>
Switch from one branch to another:
git checkout <branchname>
List all the branches in your repo, and also tell you what branch you're currently in:
git branch
Delete the feature branch:
git branch -d <branchname>
Push the branch to your remote repository, so others can use it:
git push origin <branchname>
Push all branches to your remote repository:
git push --all origin
Delete a branch on your remote repository:
git push origin :<branchname>
Update from the remote repository Fetch and merge changes on the remote server to your working directory: git pull
To merge a different branch into your active branch:
git merge <branchname>
View all the merge conflicts:

View the conflicts against the base file:

Preview changes, before merging:

git diff

git diff --base <filename>

git diff <sourcebranch> <targetbranch>
After you have manually resolved any conflicts, you mark the changed file:
git add <filename>
Tags You can use tagging to mark a significant changeset, such as a release:
git tag 1.0.0 <commitID>
CommitId is the leading characters of the changeset ID, up to 10, but must be unique. Get the ID using:
git log
Push all tags to remote repository:
git push --tags origin
Undo local changes If you mess up, you can replace the changes in your working tree with the last content in head:

Changes already added to the index, as well as new files, will be kept.

git checkout -- <filename>
Instead, to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it, do this:
git fetch origin

git reset --hard origin/master
Search Search the working directory for foo(): git grep "foo()"