Difference between revisions of "Git"
Jump to navigation
Jump to search
(Created page with "Using the [https://bitbucket.org/ Bitbucket] code repository with git. ==Starting== Install the git tools: <code>apt-get install git</code> Initialize your user with: :a nam...") |
|||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Using | + | =Using Git= |
+ | Here is a basic overview of how you can work with git@bitbucket: | ||
− | = | + | Initialize git on your computer: |
− | + | <syntaxhighlight lang=bash> | |
+ | git config --global user.name "<your name>" | ||
+ | git config --global user.email "<your emailaddress>" | ||
+ | </syntaxhighlight> | ||
− | + | * Add your public key in your profile - 'Personal Settings' - 'SSH keys' | |
− | |||
− | |||
− | Set | + | ==Fresh project (nothing locally yet)== |
+ | * Create a "repository" (project) with a git hosting tool (like Bitbucket) | ||
+ | * <code>git clone <Look under the Clone Button</code> Copy (or clone) the repository to your local machine | ||
+ | * <code>git remote set-url --push origin <Look under the Clone Button></code> Set the push URL | ||
+ | * <code>git add <filenname></code> Add a file to your local repository | ||
+ | * <code>git commit -m 'Reason for commit'</code> ] | ||
+ | * <code>git push</code> Send your changes to your master branch | ||
− | + | ==For a project you have files for already== | |
+ | |||
+ | * Create a "repository" (project) with a git hosting tool (like Bitbucket) | ||
+ | * <code>git init</code> (initialize the local repository) | ||
+ | * <code>git pull <Repository URL(for bitbucket look under the Clone Button)></code> master | ||
+ | * <code>git add .</code> (Add all file to the local repository) | ||
+ | * <code>git commit -m 'Initial upload'</code> | ||
+ | * <code>git remote add origin <Look under the Clone Button></code> (Connect local to remote repository) | ||
+ | * <code>git push -u origin --all</code> (push all committed file to remote. | ||
+ | |||
+ | ==Other things you can do== | ||
+ | * Create a "branch" (version), make a change, commit the change | ||
+ | * Open a "pull request" (propose changes to the master branch) | ||
+ | * "Merge" your branch to the master branch | ||
+ | |||
+ | =Other commands= | ||
+ | Check the [https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet cheatsheet] for more. | ||
+ | ;<code>git config --local -l</code> | ||
+ | :List your configuration for this repository (in the current directory). | ||
+ | ;<code>git remote -v</code> | ||
+ | :Show 'remote' configuration. | ||
+ | ;<code>git status -v</code> | ||
+ | :Show all difference between the current directory and the local repository. | ||
+ | ;<code>git add/rm <path></code> | ||
+ | :Add or remove files from the list of files to be committed (local files will be removed too). | ||
+ | ;<code>git commit -m 'Reason for commit'</code> | ||
+ | :Commit changes (add/rm) to the local repository. | ||
+ | ;<code>git commit -a</code> | ||
+ | :Commit all local changes to the local repository. | ||
+ | ;<code>git branch <branchname></code> | ||
+ | :Create a new branche | ||
+ | ;<code>git checkout <branchname></code> | ||
+ | :Make <branchename> current | ||
+ | ;<code>git checkout -b <branchname></code> | ||
+ | :Make <branchename> and make it current (combine above 2 commands) | ||
+ | ;<code>git reset HEAD <path></code> | ||
+ | :Reset commit status for <path> | ||
+ | ;<code>git fetch</code> | ||
+ | :Fetch all changes made remote | ||
+ | ;<code>git merge <branch></code> | ||
+ | :Merge <branch> into the current branch | ||
+ | ;<code>git branch --all</code> | ||
+ | :Show all branches in this repository | ||
+ | ;<code>git push</code> | ||
+ | :Send the repository remote | ||
+ | ;<code>git pull</code> | ||
+ | :Fetch all changes made remote and merge to current branch | ||
+ | ;<code>git log</code> | ||
+ | :Show all commits | ||
+ | |||
+ | =Conflict resolution= | ||
+ | Git merge tries to merge files from 2 branches when they differ. If that is not possible (e.g. as both files have changes in the same lines) the file will mark the conflicting parts. | ||
+ | |||
+ | <<<<<<< HEAD | ||
+ | Lines in the current branch | ||
+ | ======= | ||
+ | Lines in the merged branch | ||
+ | >>>>>>> <name of the merged branch> | ||
+ | |||
+ | The ======= is the center of the conflict. Check which lines you want to be in and remove everything else (including the conflict markerd). |
Latest revision as of 12:26, 20 March 2023
Using Git
Here is a basic overview of how you can work with git@bitbucket:
Initialize git on your computer:
git config --global user.name "<your name>"
git config --global user.email "<your emailaddress>"
- Add your public key in your profile - 'Personal Settings' - 'SSH keys'
Fresh project (nothing locally yet)
- Create a "repository" (project) with a git hosting tool (like Bitbucket)
git clone <Look under the Clone Button
Copy (or clone) the repository to your local machinegit remote set-url --push origin <Look under the Clone Button>
Set the push URLgit add <filenname>
Add a file to your local repositorygit commit -m 'Reason for commit'
]git push
Send your changes to your master branch
For a project you have files for already
- Create a "repository" (project) with a git hosting tool (like Bitbucket)
git init
(initialize the local repository)git pull <Repository URL(for bitbucket look under the Clone Button)>
mastergit add .
(Add all file to the local repository)git commit -m 'Initial upload'
git remote add origin <Look under the Clone Button>
(Connect local to remote repository)git push -u origin --all
(push all committed file to remote.
Other things you can do
- Create a "branch" (version), make a change, commit the change
- Open a "pull request" (propose changes to the master branch)
- "Merge" your branch to the master branch
Other commands
Check the cheatsheet for more.
git config --local -l
- List your configuration for this repository (in the current directory).
git remote -v
- Show 'remote' configuration.
git status -v
- Show all difference between the current directory and the local repository.
git add/rm <path>
- Add or remove files from the list of files to be committed (local files will be removed too).
git commit -m 'Reason for commit'
- Commit changes (add/rm) to the local repository.
git commit -a
- Commit all local changes to the local repository.
git branch <branchname>
- Create a new branche
git checkout <branchname>
- Make <branchename> current
git checkout -b <branchname>
- Make <branchename> and make it current (combine above 2 commands)
git reset HEAD <path>
- Reset commit status for <path>
git fetch
- Fetch all changes made remote
git merge <branch>
- Merge <branch> into the current branch
git branch --all
- Show all branches in this repository
git push
- Send the repository remote
git pull
- Fetch all changes made remote and merge to current branch
git log
- Show all commits
Conflict resolution
Git merge tries to merge files from 2 branches when they differ. If that is not possible (e.g. as both files have changes in the same lines) the file will mark the conflicting parts.
<<<<<<< HEAD Lines in the current branch ======= Lines in the merged branch >>>>>>> <name of the merged branch>
The ======= is the center of the conflict. Check which lines you want to be in and remove everything else (including the conflict markerd).