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"> | ||
| − | + | ||
<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 | + | <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 | + | <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 --global 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 --global user.email sam@example.com</code></p></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| − | <td class="confluenceTd"><strong | + | <td class="confluenceTd"><strong>Create a new local repository </strong></td> |
<td class="confluenceTd"> </td> | <td class="confluenceTd"> </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 | + | <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 | + | <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 <filename> | <td class="confluenceTd"><pre>git add <filename> | ||
| Line 38: | Line 38: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| − | <td rowspan="2" class="confluenceTd"><strong | + | <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 | + | <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 | + | <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 | + | <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 <server></code></td> | <td colspan="1" class="confluenceTd"><code>git remote add origin <server></code></td> | ||
| Line 66: | Line 66: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| − | <td rowspan="7" class="confluenceTd"><strong | + | <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 <branchname></pre></td> | <td colspan="1" class="confluenceTd"><pre>git checkout -b <branchname></pre></td> | ||
| Line 95: | Line 95: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| − | <td rowspan="4" class="confluenceTd"><strong | + | <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 | + | <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 -- <filename></pre></td> | <td colspan="1" class="confluenceTd"><pre>git checkout -- <filename></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> | ||
| − | + | ||
</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 |
git config --global user.name "Sam Smith"
|
| 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 <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()" |