These are some tricks and shortcuts that I use in everyday coding to automate some repetitive tasks and make my dev life easier. If the tips below have helped you in any way, please give this repo a star :)
If you are fed up with providing your username and PAT (Personal Authentication Token) every time you push your code to GitHub, you need to configure your Git repo with SSH authentication. There are already plenty of documentations and stack overflow threads on how to do it. So, I am just leaving some links here that worked for me.
Go through the entire documentation above, step by step, to create your SSH key pair if you don't have them already. I did it on my Ubuntu 20.04.
Once you have done that, you will have to initialize your local git repository. A local repo is a repo that's in your computer and is synced/connected to its clone on GitHub or vice-versa. It's basically called a local-remote setup for your git repo. Assuming that you have a terminal open and you are inside the folder of your local repo (you cd'd into it), run the command
git init
to initialize (or reinitialize in some cases) this repo with a .git
folder.
Now run the command
<git config remote.origin.url "[email protected]:your-GitHub-repo-name.git"
where "your-GitHub-repo-name" is the name of the git repo your are trying to push code to (the same repo we are talking about here and that you have just cd'd into). For example, if I want to remote to this git repo from my local Ubuntu desktop, then, I will execute
git config remote.origin.url "[email protected]:python-deepdive.git"
.
You can check if you have successfully configured this git repo by running the command
git config --get remote.origin.url
This command will display the git remote URL that you just configured your repository with.
Now, whenever you do git push
, you won't have to enter your GitHub credentials to push to this repo. However, if you have a SSH passphrase set up, then you'll be asked to enter that passphrase before pushing. You'll see an option to disable this check on that pop-up window. Select it and you won't be bothered again.
Git asks for username every time I push
Git: Receiving "fatal: Not a git repository" when attempting to remote add a Git repo
The usual way to push your code to a remote branch of a Git repository is to follow the git add-commit-push cycle. But that's three commands. You can reduce this task to a single command.
[ JUMP below if you 'just want the command' ]
If you want to bundle add and commit only for more control over the commit command, you can just add this simple alias to your git config file by running this command in the terminal inside your local git repository:
git config --global alias.add-commit '!git add . && git commit'
[ JUMP here for single command git push ]
Bundling all three together is a more involved task and takes away your freedom of choosing different parameters for the commands but you basically have one command to execute. I think that's pretty neat!
To do this, open your .bashrc file (if you are using Linux) or its equivalent and add the following function. Although you can use Vim (the default VI editor) to edit the file in your terminal, which many Linux pros do, as a millenial, I hate using it most of the time. It's old and cumbersome. I do it the easy way.
-
Open the terminal (
Ctrl + Alt + T
) -
Open the .bashrc file for editing with:
gedit ~/.bashrc
-
Add the following function at the end of the file:
function gitpush() { branch="$1" # Assign the first argument to the branch variable shift # Shift the argument list to remove the branch argument git add . git commit -a -m "$*" # Use remaining arguments as the commit message git push origin "$branch" # Use the branch variable for git push }
-
Save the file (
Ctrl + S
) -
Run this command in the terminal:
source ~/.bashrc
Now you can push your code to your remote repository with this single command: gitpush branch_name "commit message"
git add, commit and push commands in one?
For this to work, your remote GitHub reposity MUST have the same name as your current local directory.
Add the following function to your .bashrc file in the same way as #3 above:
function gitremote() {
dirName=$(basename "$(pwd)")
echo "# ${dirName}" >> README.md
git init
git add .
git commit -a -m "initial commit"
git branch -M main
git remote add origin https://github.com/[your-github-username]/${dirName}.git
git push -u origin main
}
Replace [your-github-username] (including the square brackets) with your GitHub username. This will create a README.md file in your current directory, initialize the directory as a Git repository and push everything to your remote GitHub repository that has the same name as your current directory.
Note that this code does not create a .gitignore file.
When you are deep into a directory structure that has many folders, your terminal may show your current directory path like this:
shamir@dg:~/Documents/Software/php-app$
It makes running long commands a messy situation, especially when you have the terminal window downsized for convenience. To shorten the path name so that the terminal only shows your current directory, you can do the following:
- Open the terminal (
Ctrl + Alt + T
) - Open the .bashrc file for editing with:
gedit ~/.bashrc
- Add the following line at the end of the file:
PS1="\u@\h: \W:$"
- Save the file (
Ctrl + S
) - Run this command in the terminal:
source ~/.bashrc
Now the path name should look like this:
shamir@dg: php-app:$
How do I shorten the current directory path shown on terminal?
If MariaDB connector does not work, use the MySQL connector.
This is mainly for AWS Cloud9 IDE because it only provides Ubuntu 18.04.
Add the deadsnakes repository
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
Install Python 3.9
sudo apt-get install python3.9
Check installed Python versions (optional)
ls /usr/bin/python3.*
Tell Ubuntu that it can now use either of the installed Python 3 versions. Option 1: Python 3.6; option 2: Python 3.9
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
Set Python 3.9 as primary Python 3 version. Enter the option number (probably #2) to set Python 3.9 as default.
sudo update-alternatives --config python3
Check default Python 3 version
python3 --version
The regular Python version still probably points to Python 2.x
python --version
If so, you can uset Python 2.x from being default for anything (optional)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
Now, everything should point to Python 3.9
python --version
python3 --version
You may have to reinstall the apt package manager so that it correctly points to Python 3.9
sudo apt-get install python3-apt --reinstall
Recreate symbolic link to the apt package
cd /usr/lib/python3/dist-packages
Check which apt_pkg.cpython-{version_number} your system has
ls apt_pkg.cpython-*
Link to this package file by replacing {your-version-number}, including replacing the braces, with your installed version number
sudo ln -s apt_pkg.cpython-{your-version-number}-x86_64-linux-gnu.so apt_pkg.so
For example,
sudo ln -s apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
If you have more than one package installed, you can also do this. Keep the braces this time.
sudo ln -s apt_pkg.cpython-{36m, 37m}-x86_64-linux-gnu.so apt_pkg.so
You may also have to install the distutils package for Python 3.9
sudo apt install python3.9-distutil
Check if its installed correctly. You should see no traceback calls
python3 -c "from distutils import sysconfig"
How to upgrade to Python 3.9.0 on Ubuntu 18.04 LTS
Change the Python3 default Version in Ubuntu
python-dev installation error: ImportError: No module named apt_pkg
ImportError: cannot import name 'sysconfig' from 'distutils'
In module.exports
, content should be content: ["*"],
You can replace the *
with more granular file paths but do not use the default code from Tailwind's installation instructions.
Everything from git init
to git push -u origin main
remains the same except for the following line:
git remote set-url origin [email protected]:[your_github_account_name]/[your_github_repo_name].git
For the URL, copy the SSH URL of the Git remote repository.
How to Change Git Remote Origin(URL)
In the command line, enter gh auth login
, then follow the prompts.