sold
Joined 14 years ago
Joined 14 years ago
I've enjoyed this article that was recently on HN http://www.nytimes.com/2015/11/29/opinion/sunday/addicted-to...
Git: set up aliases. I can type "g co = git checkout", "g st = git status". Git configuration: pull.ff only (then "git pull" does not cause an accidental merge), fetch.prune (then "git pull" = "git pull -p").
Chrome: Ctrl+L for URL bar, Ctrl+T new tab, Ctrl+Shift+T to reopen closed window, Ctrl+W to close tab
Bash: use Alt+. for last argument (e.g. type "vim x.py"; then "python " and press Alt+. to get "x.py"), Ctrl+R to search last commands. "cd -" = undo last "cd"
Gmail: use keyboard shortcuts (enable in settings). ? to see help, most important: "c" compose, "r" reply, "a" reply all, "f" forward
Use a password manager such as keepass, remember only a few passwords.
Remember you can play a lot with git; if you are not sure how it will turn out, checkout a commit (e.g. git checkout origin/master), create a new throwaway branch (git checkout -b tmp), then you can do rebases, cherry-picks, merges etc., then do "git log tmp" or "git log -p tmp" to see how does the branch look. If you are unhappy, you can always throw it out (git branch -D tmp), it won't affect anything else.
I generally avoid the situation when a branch and origin diverges. The flow I have in my work is: If I need to make a small change (few lines), I pull, do changes, commit and push directly to master; if there are any intervening independent changes, pull --rebase. For anything larger, I create a new branch, and commit there. Once it is ready, I give it to a teammate for code review and do automated build, if everything is OK he merges it to master. Other people generally don't push to my branch, and there is no A-B-C vs A-B-D situation.
If several people work together on the same branch, we coordinate actions face-to-face or via team chat, to avoid conflicts. We pull/push many times a day and the changes are small enough so there are no problems with rebasing in a topic branch. If two people make big conflicting changes to the same branch, it means trouble and we merge or even discard some changes.
git config --global pull.ff only
instead, then you can use "git pull" without worries. Or,
git pull --ff-only
Can you explain why? I don't know Kotlin, but from this page it seems to divide types into nullable and non-nullable (correct me if I'm wrong). Is it possible to have a type "T??" that has three possibilities - "null", "wrapped null" and "T"? If not, this approach will not help in the assoc problem mentioned by the parent poster.
git merge --abort. Perhaps not intuitive, but it's a single command.
This will not work:
if python3: print (SECRET_KEY) else: print SECRET_KEY
because it's a syntax error in Python 3. Instead, you can just write "print (SECRET_KEY)", this works in both versions and has the same effect.