Skip to content

Instantly share code, notes, and snippets.

View seLain's full-sized avatar
😭
life is tough

Victor Hu seLain

😭
life is tough
View GitHub Profile
@seLain
seLain / gist:4ec25de9fafebebf449e12547a21fb0b
Created August 19, 2018 00:42
Change author of specific commit
https://stackoverflow.com/questions/3042437/how-to-change-the-commit-author-for-one-specific-commit
git rebase -i <earliercommit>
for each commit you want to change:
change the text from "pick" to "edit"
git commit --amend --author="Author Name <[email protected]>"
git rebase --continue
git rebase --continue
done
@seLain
seLain / gist:688fab5bef49a94cce4a8e40bfb4fe4c
Created August 19, 2018 00:35
Checkout specific PR and push as new branch
https://help.github.com/articles/checking-out-pull-requests-locally/
checkout from origin
git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
<do modifications>
<add>
<commit>
git push origin BRANCHNAME
@seLain
seLain / gist:92938d7eb4e122502f005b34d51abe1b
Created August 7, 2018 14:39
Create PR with specific commit
git fetch --all # or whatever to make sure your repo consistent with origin
git checkout -b new_branch_for_single_change upstream/master # or origin mater, dependes where's your base source
git cherry-pick hashcode_of_specific_commit
git push -u origin new_branch_for_single_change # push this new branch to origin
then create PR from new_branch_for_single_change branch on origin to upsteam
@seLain
seLain / gist:8bdf12c7196f3fccafdf067dec2696b2
Last active October 16, 2024 13:56
Fix the thing GitHub keeps saying “This branch is X commits ahead, Y commits behind”
ref stackoverflow:
https://stackoverflow.com/questions/41283955/github-keeps-saying-this-branch-is-x-commits-ahead-y-commits-behind
works by
1. git remote add upstream https://github/upstream/repo.git
2. git pull --rebase upstream master
2.1 git rebase --skip (if the conflicts are not true, skip the patches)
3. git push --force-with-lease origin master
If there are branches to fix
## useful refs
* https://realpython.com/deploying-a-django-app-to-aws-elastic-beanstalk/#Create.the.Admin.User
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html
## CLI approach
1. Enter your project root (versioned with Git)
2. install awsebcli
2.1 if encountering trouble installing PyYAML, using prepackages wheel:
3. > eb init
@seLain
seLain / gist:5e56475dd59024eb47df01acaa04ccae
Created March 16, 2018 03:22
Django get new random secret key
This can be done in interactive python shell
> from django.core.management.utils import get_random_secret_key
> get_random_secret_key()
@seLain
seLain / gist:a09ba6df2be3f0b5798bb076a7d8adb1
Last active March 6, 2018 07:20
Django field validation before save
- Django does not automatically check max_lenght limitation before save()
- Django does not automatically check choices before save() --> it's for form
for the length limitation, using
datamodel.full_clean()
datamodel.save()
can resolve it. or, override save() to enforce full_clean()
ex:
@seLain
seLain / gist:1d54e80d16b6ad59122d3f1d4ddf15df
Created February 24, 2018 04:05
set up a fetch-only remote
ref: http://sushihangover.github.io/git-set-up-a-fetch-only-remote/
> git remote -v # to see all remotes
> git remote set-url --push <remote_name> DISABLE
for example:
> git remote set-url --push upstream DISABLE
check again by
> git remote -v
@seLain
seLain / gist:a29a921ad76ad36a87d827f10df35dbe
Last active February 24, 2018 04:08
fork sibling repo as a branch and send pull request through github
say you have ...
- upstream : https://github.com/xxxxx/project_a.git
- origin : https://github.com/yourself/fork_project_a.git
and there is a sibling project : https://github.com/community_contributor/fork_project_a.git
1. get into your git bash under fork_project_a
2. add sibling project as new remote:
git remote add community_contributor https://github.com/community_contributor/fork_project_a.git
3. git fetch (to update and also make sure new remote added)
@seLain
seLain / gist:43916f633fb6dde12eca7329dc1687a1
Created January 28, 2018 06:39
regular expression for IPv4 validation (demo with Java code)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
class Solution{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String IP = in.next();