Adaptive Drone Codebase
Welcome to the Adaptive Drone codebase! This guide provides instructions for setting up Git and following best practices for version control to ensure smooth collaboration.
Setup Instructions
Follow these steps to set up Git and start contributing:
-
Ensure Git is Installed:
- Verify Git is installed by running:
If not, install Git from Git's official website.git --version
- Verify Git is installed by running:
-
Set Up SSH for GitHub:
- Add GitHub’s SSH address to your system PATH.
- Generate an SSH key:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" - Add the generated SSH key to GitHub:
- Go to GitHub > Settings > SSH and GPG Keys > New SSH Key.
- Paste the public key (
id_rsa.pub).
-
Configure Git User Info:
- Set your username and email:
git config --global user.name "Your Name" git config --global user.email "your_email@example.com"
- Set your username and email:
-
Clone the Repository:
- Clone the repo using the SSH address:
git clone git@github.com:Abumere17/AdaptiveDrone.git
- Clone the repo using the SSH address:
Regular Workflow
To maintain an organized and efficient workflow, follow these best practices:
1. Branch Management
- Purpose of Branches:
- Branches are used for specific tasks (e.g., new features or bug fixes).
- Creating a Branch:
- To create a new branch and switch to it:
git checkout -b feature-branch-name
- To create a new branch and switch to it:
- Switching Branches:
- Use
git checkoutto switch to an existing branch:git checkout branch-name
- Use
2. Syncing with Remote
- Pull Changes:
- Always pull the latest changes before starting a new coding session:
git pull origin main
- Always pull the latest changes before starting a new coding session:
3. Making Changes
- Use the Source Control Tab in VS Code to:
- Stage Changes: Select the files you want to include in the commit.
- Commit Changes: Add a clear and descriptive commit message.
- Push Changes: Push your branch to the remote repository.
4. Merging Changes
- Once your feature is complete, merge it into the
mainbranch:- Switch to the
mainbranch:git checkout main - Pull the latest changes:
git pull origin main - Merge your feature branch:
git merge feature-branch-name
- Switch to the
Key Git Commands
Here’s a quick reference for common Git commands:
| Command | Description |
|---|---|
git clone <repo-url> |
Clone a repository. |
git checkout -b <branch> |
Create and switch to a new branch. |
git checkout <branch> |
Switch to an existing branch. |
git pull origin <branch> |
Pull changes from the remote branch. |
git add <file> |
Stage changes. |
git commit -m "message" |
Commit staged changes with a message. |
git push origin <branch> |
Push your branch to the remote repository. |
git merge <branch> |
Merge a branch into the current branch. |
Best Practices
-
Commit Messages:
- Use clear and descriptive messages for your commits.
- Example:
Added facial detection module to the drone controller.
-
Keep
mainStable:- Avoid pushing incomplete or unstable code directly to
main.
- Avoid pushing incomplete or unstable code directly to
-
Communicate:
- Coordinate with teammates to avoid conflicts, especially during merges.
Metadata
Release files for AdaptiveDrone 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adaptivedrone-0.1.0.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adaptivedrone-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.9 kB
Release files / adaptivedrone-0.1.0.tar.gz
| Download URL | adaptivedrone-0.1.0.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
757e518971fba72a3b13a0e6ea71cf3fded15e2eea3d8e59d51b0f3a634bc564
|
|
BLAKE2b-256 checksum How to use checksums |
006658567c949f66fd1ab54ed43edeea72ac1872779b3625fed2010472b22853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / adaptivedrone-0.1.0-py3-none-any.whl
| Download URL | adaptivedrone-0.1.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
042cfb5aef109fc5321bc80912568b7d24d6ce5db5356a65aab9c91146f0b144
|
|
BLAKE2b-256 checksum How to use checksums |
7f67e82668937f83d9ca5600ed251d3678f9839d9802be2db06fa39536605b8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|