My first thing i have done on first assignment, Is to know the technology behind on Git and also learn Git collect before i create GitLab account.
I was receive e-mail from Academany IT that link is for confirm my account. then after i reset my account on GitLab.
A staggering number of software projects rely on Git for version control, including commercial projects as well as open source.
Developers who have worked with Git are well represented in the pool of available software development talent and it works well on a wide range of operating systems and IDEs (Integrated Development Environments).
In addition to being distributed, Git has been designed with performance, security and flexibility in mind.
The raw performance characteristics of Git are very strong when compared to many alternatives.
Git take advantage of deep knowledge about common attributes of real source code file trees, how they are usually modified over time and what the access patterns are.
Git has been designed with the integrity of managed source code as a top priority. The content of the files as well as the true relationships between files and directories, versions, tags and commits, all of these objects in the Git repository are secured with a cryptographically secure hashing algorithm called SHA1.
With Git, you can be sure you have an authentic content history of your source code.
Some other version control systems have no protections against secret alteration at a later date. This can be a serious information security vulnerability for any organization that relies on software development.
One of Git's key design objectives is flexibility. Git is flexible in several respects: in support for various kinds of nonlinear development workflows, in its efficiency in both small and large projects and in its compatibility with many existing systems and protocols.
Git has been designed to support branching and tagging as first-class citizens (unlike SVN) and operations that affect branches and tags (such as merging or reverting) are also stored as part of the change history. Not all version control systems feature this level of tracking.
Now, let’s understand what is Version Control.
Version Control is the management of changes to documents, computer programs, large websites and other collection of information.
Centralized version control system (CVCS): uses a central server to store all files and enables team collaboration. It works on a single repository to which users can directly access a central server.
In Distributed VCS, every contributor has a local copy or “clone” of the main repository i.e. everyone maintains a local repository of their own which contains all the files and metadata present in the main repository.
Git is the best choice for most software teams today. While every team is different and should do their own analysis, here are the main reasons why version control with Git is preferred over alternatives:
Git has the functionality, performance, security and flexibility that most teams and individual developers need. These attributes of Git are detailed above. In side-by-side comparisons with most other alternatives, many teams find that Git is very favorable.
Why we are choosing git? Because Professor Neil we recommend us to use git and also is good as talk above.
Git is a very well supported open source project with over a decade of solid stewardship. The project maintainers have shown balanced judgment and a mature approach to meeting the long term needs of its users with regular releases that improve usability and functionality. The quality of the open source software is easily scrutinized and countless businesses rely heavily on that quality.
Being open source lowers the cost for hobbyist developers as they can use Git without paying a fee. For use in open-source projects, Git is undoubtedly the successor to the previous generations of successful open source version control systems, SVN and CVS.
The top seven open source version contol systems:
As I use ubuntu as operating system , so the way i install is difference to other operating system.
The second step,I was install git be is to open terminal using this shotcut key Ctrl+Alt+T and type in the terminal this code
sudo apt-get updateor
sudo apt-get install git.
As you see on diagram below I was install git before but i was never known.
Any way i was make trick of generating other ssh key.
You need to install Git on your system first. If you need help with the installation,click here.
The Secure Shell protocol is used for sharing and transferring data informations from specified point to server.
GIT can use this protocol as a transfer mechanism, and it's the default if you want to use public-key encryption instead of passwords.
The third step is to generate SSH keys by opening terminal and type this code
ssh-keygen -t rsa -b 4096 -C "your mail id"
The first week assignment was to create the main personal website for the whole fab lab project completely beside introducing the idea for the final project.
The main website is divided into five main sections : home, weekly assignments ,about me ,contact me and final project.
simply I downloaded free templates from this link Free - Css and modified the content depending on the project plan.
There you can easily find many templates suitable for our main web site.
Template image
The main difficulty was dealing with HTML,CSS and JavaScript languages as these languages needs special training to deal with codes and commands related to perform special orders for the desired outputs also inserting images and videos to my website beside using colors in the main website and changing font size for the website content , moreover creation a new sub page inside main web page was very important add some beautiful arrangement and ordering in my website and this skill was very positive.
HTML is the standard markup language for creating Web pages.
After build my website i try to push on gitlab by typing following command on terminal
As i use ubuntu operating system i try to open terminal by ckick ctrl+alt+T
git init
git status
git add
git commit -m "Any comment"
git pull
git push
First time I was push in order to test git. was done without any problems.But again on the second time after building my website. i push it without any matter.
Third time after modifying html codes. i try to push it then i receive message in terminal which say like this"sign_and_send_pubkey: signing failed: agent refused operation Permission denied (publickey). fatal: Could not read from remote repository" On this issues i try solve it by using any git command i known but there is no solution.For realy i try everything like git clone, i create new public key and git something and soon.
After all of that i ask google then i get link which help me to get small command look like this "ssh-add" after type this command in terminal then press enter i get solution of my problems
My final project is name Smart beehives this is IoT project which is used to monitoring the amount of honey.I am still thinking on it how it work and technology i can use.More detail i will give or share you rate on my webpage which is called PROJECT