- Software Configuration Management(SCM) = Version Control(VS/VCS)
- Software principle
- When several programmers write code, the codes of which are then combined into 1 project. VC allows this to be more balanced and controls the whole process
- Keeps history of the made changes
- Conflict - When 2 people work on the same code and correct the same line
- Repository
- The code repository used in a project
- Project code
- Open source code - Everyone can see the code
- GitHub - If you are not added as a collaborator, you cannot make pull requests
Git | GitHub | Git Bash |
---|---|---|
Version control; Methodology | Portal | Client we use to upload code to GitHub |
There are 2 types of Source-Control Systems
Distributed Source-Control System | Centralized Source-Control System |
---|---|
Git | SVN |
2 types of repository | |
Remote - The main project from which the files are downloaded | Only 1 repository (Remote repository) |
Local - Everyone involved in this project has 2 repositories | No Local repository |
In case of conflict, the individual programmer can download the changes in his repository that the other has made and make the appropriate changes | Almost always we get conflicts and they are very hard to fix |
Before following the below commands you would need to set Git with your GitHub profile and a SSH key.
For GitHub:
For SSH key:
-
Create a folder on your Desktop named
test
OpenGit Bash
on your Desktop and create a foldertest
with themkdir test
command. -
Move to the
test
foldercd test
-
In the Git console write the command
git init
This command initializes a new, empty repository. Git creates a new
.git
directory in your project. Using thels -a
command we can see the mentioned directory. -
Use the
clear
command to clear the console -
Create
file-1.txt
in thetest
foldertouch file-1.txt
-
Check the status of your Working directory
git status
From the result, it can be seen that you don't have any commits and have 1 untracked file.
-
Move the file to the Staging area
git add file-1.txt
-
Commit the changes to you Local repository
git commit -m"[Message]"
git commit -m"Created file-1.txt"
-
Check the status When you see the above message, that means you are ready to the push the changes and add them to the Remote repository.
-
Add some text to file-1.txt
echo "Sofia" >> file-1.txt
-
Check the status From the above message you can either prepare your changes for commit or discard the changes you have made. If you want to restore the previous state of the file you have to use:
git restore file-1.txt
If you want to keep the changes you made and prepare them for commit you have to use:
git add file-1.txt
With this command you can add 1 file at a time, but what if you have multiple...
-
Add 2 more files to the
test
foldertouch file-2.txt touch file-3.txt
-
Check the status
git status
-
Add all files at once
git add .
-
Commit the changes
git commit -m"Added 2 new files and changed file-1.txt"
-
Remove file-3.txt
rm -i file-3.txt
Since you are using
-i
, you will be asked whether you want this file to be deleted. -
Prepare everything for commit and check the status
git add . git status
-
Commit
git commit -m"Deleted file-3.txt"
-
Check the history of your commits
git log
-
Use the below command to rename the current branch to
main
git branch -M main
-
Create a repository on GitHub and connect it to your Local repository
After you have created a repository on GitHub copy the below:git remote add origin [URL]
git remote add origin git@github.com:DenisBuserski/test.git
-
Push your changes:
git push -u origin main
-
Add
README.md
in your Remote repository We don't have thisREADME.md
file in our Local repository, so let's get it.git fetch
git merge
git pull
git merge
git clone