Project 6: GIT

Collaborative Development at Darole.org: A Tale of Mumbai and DELHI Teams

In the dynamic world of Darole.org, a project manager embarked on an ambitious journey involving two pivotal teams: one in Mumbai and the other in DELHI. This blog post chronicles their collaborative effort, the challenges they faced, and the solutions they implemented while developing a shared webpage project.

Initial Setup and Task Distribution

The manager initiated the project by creating a foundational webpage and handed it over to the Mumbai Team. The instructions were clear: develop the webpage further, write the necessary code, and upload it to GitHub by the end of the day.

Mumbai Team’s Workflow

The Mumbai Team began their task with enthusiasm, following these steps:

root@mumbai:~# mkdir /mumbai-git
root@mumbai:~# cd /mumbai-git/
root@mumbai:/mumbai-git# git init
Initialized empty Git repository in /mumbai-git/.git/
root@mumbai:/mumbai-git# vi darole.html
root@mumbai:/mumbai-git# git add darole.html
root@mumbai:/mumbai-git# git commit -m "First commit by manager from mumbai"
root@mumbai:/mumbai-git# git push -u origin master

DELHI Team Takes Over

After the Mumbai Team's initial push, the DELHI Team took over. They pulled the latest changes from the repository, continued the development, and then pushed their updates:

root@delhi:/delhi# mkdir /delhi; cd /delhi
root@delhi:/delhi# git init
root@delhi:/delhi# git remote add origin https://github.com/vdarole/git-test.git
root@delhi:/delhi# git pull origin master
root@delhi:/delhi# vi darole.html
root@delhi:/delhi# git add darole.html
root@delhi:/delhi# git commit -m "Commit from DELHI Team"
root@delhi:/delhi# git push -u origin master

Identifying and Addressing Errors

The next day, the Mumbai Team resumed their work. During the review, the manager identified several mistakes in the code. The directive was clear: rollback to the original version created by the manager and start again.

Introducing New Team Members and Branching Strategy

With new members joining both teams, the manager implemented a new strategy to enhance the workflow: creating separate branches on GitHub for each team. This allowed isolated development and reduced the risk of overlapping errors.

Mumbai Team's Branch Workflow

The Mumbai Team continued their work on a dedicated branch:

root@mumbai:/mumbai-git# git checkout -b mumbai-team-branch
root@mumbai:/mumbai-git# vi darole.html
root@mumbai:/mumbai-git# git add darole.html
root@mumbai:/mumbai-git# git commit -m "Mumbai Team updates"
root@mumbai:/mumbai-git# git push -u origin mumbai-team-branch

 DELHI Team's Branch Workflow

Simultaneously, the DELHI Team worked on their branch:

root@delhi:/delhi# git checkout -b delhi-team-branch
root@delhi:/delhi# vi darole.html
root@delhi:/delhi# git add darole.html
root@delhi:/delhi# git commit -m "DELHI Team updates"
root@delhi:/delhi# git push -u origin delhi-team-branch

Quality Control and Merging

Upon review, the manager found errors in the Mumbai Team's branch and decided to delete it. Conversely, the DELHI Team's work met the quality standards, and their branch was merged into the main GitHub branch:

root@manager:/project-repo# git checkout master
root@manager:/project-repo# git merge delhi-team-branch

Timelines of Effort
- Manager initiated the work: Tue Jan 9 12:36:56 UTC 2024
- Mumbai Team began their task: Tue Jan 9 12:44:12 UTC 2024
- DELHI Team took over: Tue Jan 9 13:17:10 UTC 2024
- Mumbai Team resumed work: Tue Jan 9 13:23:25 UTC 2024


Conclusion

The journey of the Mumbai and DELHI Teams at Darole.org showcases the essence of collaborative development. Despite initial hurdles and the need for strategic adjustments, the teams, guided by the manager's oversight, successfully delivered a well-crafted webpage. This project underscored the importance of clear communication, effective use of version control, and adaptive project management in achieving a successful outcome.

Git: Update Git Repository with Sample HTML File

Date:6:55 PM 5/31/2024

The Nautilus development team has initiated a new project development, establishing various Git repositories to manage each project's source code. Recently, a repository named /opt/cluster.git was created. The team has provided a sample index.html file located on the jump host under the /tmp directory. This repository has been cloned to /usr/src/kodekloudrepos on the storage server in the Stratos DC.
1. Copy the sample index.html file from the jump host to the storage server placing it within the cloned repository at /usr/src/kodekloudrepos/cluster.
2. Add and commit the file to the repository.
3. Push the changes to the master branch.


$ scp /tmp/index.html natasha@ststor01:/tmp 
[root@ststor01 cluster]#  cp /tmp/index.html /usr/src/kodekloudrepos/cluster
[root@ststor01 cluster]# git add index.html
[root@ststor01 cluster]# git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   index.html
[root@ststor01 cluster]# git commit -m 'index.html'
[master eedfbf1] index.html
 1 file changed, 1 insertion(+)
 create mode 100644 index.html
[root@ststor01 cluster]# git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
[root@ststor01 cluster]# git branch
* master
[root@ststor01 cluster]# git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 36 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 328 bytes | 328.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To /opt/cluster.git
   0b9eebb..eedfbf1  master -> master
[root@ststor01 cluster]# 

Git: Delete Git Branch

Date: 9:48 PM 6/3/2024

The Nautilus developers are engaged in active development on one of the project repositories located at /usr/src/kodekloudrepos/news. During testing, several test branches were created, and now they require cleanup. Here are the requirements provided to the DevOps team:
On the Storage server in Stratos DC, delete a branch named xfusioncorp_news from the /usr/src/kodekloudrepos/news Git repository.

[root@ststor01 news]# git branch
  master
* xfusioncorp_news
[root@ststor01 news]# git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
[root@ststor01 news]# 
[root@ststor01 news]# git branch -D xfusioncorp_news
Deleted branch xfusioncorp_news (was bb377db).
[root@ststor01 news]# git branch
* master
[root@ststor01 news]# 


No comments:

Post a Comment