You clone someone else fork and wants to push in your fork
I created a fork (let’s call it
myrepo) of another repository (let’s call it
orirepo) on GitHub. Later, I cloned
git clone https://github.com/original/orirepo.git
I modified about 20 files, then I staged my change and made a commit
However, when I tried to push
I got this error:
remote: Permission to original/orirepo.git denied to mylogin.
fatal: unable to access 'https://github.com/original/orirepo.git/': The requested URL returned error: 403
By default, when you clone a repository
- the local config of the resulting clone lists only one remote called
origin, which is associated with the URL of the repository you cloned;
- the local
master branch in your clone is set to track
Therefore, if you don’t modify the config of your clone, Git interprets
git push origin master:origin/master
In other words,
git push attempts to push your local
master branch to the
master branch that resides on the remote repository (known by your clone as
origin). However, you’re not allowed to do that, because you don’t have write access to that remote repository.
You need to
- either redefine the
origin remote to be associated with your fork, by running
git remote set-url origin https://github.com/RemiB/myrepo.git
- or, if you want to preserve the original definition of the
origin remote, define a new remote (called
myrepo, here) that is associated to your fork:
git remote add myrepo https://github.com/RemiB/myrepo.git
Then you should be able to push your local
master branch to your fork by running
git push myrepo master
And if you want to tell Git that
git push should push to
myrepo instead of
origin from now on, you should run
git push -u myrepo master
Here is simple python code to smartly create a folder if it does not exisit
if not os.path.exists(directory):
print ('Error: Creating directory. ' + directory)
# Creates a folder in the current directory called data
In Java we have print which allow to print in same line
and println allow us to print on new line
But in python print always prints on new line, that makes it to difficult to print progress.
sys.stdout.write will print without return carriage
Code running which needs to show progress
# Pythonic ways of checking if all
# items in a list are equal:
>>> lst = ['a', 'a', 'a']
>>> len(set(lst)) == 1
>>> all(x == lst for x in lst)
>>> lst.count(lst) == len(lst)
# I ordered those from "most Pythonic" to "least Pythonic"
# and "least efficient" to "most efficient".
# The len(set()) solution is idiomatic, but constructing
# a set is less efficient memory and speed-wise.
To squash the last 3 commits into one:
git reset --soft HEAD~3
git commit -m "New message for the combined commit"
Pushing the squashed commit
If the commits have been pushed to the remote:
git push origin +name-of-branch
The plus sign forces the remote branch to accept your rewritten history, otherwise you will end up with divergent branches
If the commits have NOT yet been pushed to the remote:
git push origin name-of-branch
Loopback is a very power api development framework on node.js. It allows you to build your entire api system with live api documentation ( swagger ) in a very fast and secure way. I finished this course and exposed few apis for some of my clients project.
Investing time and efforts is worth in this. Go for it.
This certificate above verifies that Aseem Jain successfully completed the course Node.js : Rest Apis Development Using Loopback on April 27, 2018 as taught by Haider Malik on Udemy. The certificate indicates the entire course was completed as validated by the student.