More Git and GitHub Secrets
zachholman.com
zachholman.com
Best time saver ever.
I don't suppose it's smart enough to work even if your branch has changed a conflicting file multiple times (i.e. the conflict you see in `git merge` is different than the first conflict you get in rebase, for that particular file).
That's great to know! I have a few forks that are there only because I wanted to offer a tiny change to the doc or the website, etc. but I thought I'd have to keep them around until it was merged. (I can certainly leave them there, but it leaves a big mess of mostly untouched forks)
edit: my git tip will be "git stash --keep-index". This stashes only the stuff that you haven't staged. I've been using it when I want to keep unrelated changes out of the build process before committing. Or you can run that, and then "git stash" to have two (or more) separate stashes from your current state.
I didn't realize you could do check-box style to-do markers inside of messages for issues and pulls (- [ ] Task 1). I'm not sure how long this has been a feature, but this is fantastic to finally know about for sub-tasks inside of issues. I always had a painful time trying to break those up, and keep them grouped somehow via milestones, labels, etc.
git merge master -s <strategy> git merge master -s recursive -Xpatience git merge master -s octopus git merge master -s ours git diff stash{0} git --no-pager diff git stripspace < file git diff --check git diff --cached git merge --abort git merge -m "message" git merge --no-commit git status --ignored git update-index --assume-unchanged path_to_file git update-index --no-assume-unchanged path_to_file
Also, keep the commit message summary to 50 characters or less and wrap the long description at 72 characters.
git merge master -s <strategy>
git merge master -s recursive -Xpatience
git merge master -s octopus
git merge master -s ours
git diff stash{0}
git --no-pager diff
git stripspace < file
git diff --check
git diff --cached
git merge --abort
git merge -m "message"
git merge --no-commit
git status --ignored
git update-index --assume-unchanged path_to_file
git update-index --no-assume-unchanged path_to_fileI'm a bit concerned about the public keys public url. Ok, it's just public keys, so it must be safe, but I wonder : is it safe like it's "safe" publishing a login without a password ? In other word, doesn't knowing public key make easier to break private one ?
I assume you meant to say that the private key cannot feasibly be derived from the public key, but the other way around is trivial.
Nice try, General Alexander. :P
In DSA, the public key is (p,q,g,y) and the private key is (p,q,g,x). The public "y" is computed directly from the private key using the formula: y = g^x mod p. Thus, anyone who has the private key can compute the public key.
In RSA, the public key is (n,e) and the private key is (n,d). They're not interchangeable because of two speedups that we use:
1. Small public exponents. Most of the time, e is either 65537, 5, or 3. This speeds up encryption and signature verification, but also means you can trivially guess the public key.
2. CRT exponentiation. The private key is actually (n,d,p), where p is one of the prime factors of n. This speeds up decryption and signature verification, but recall that the security of RSA is based upon the difficulty of factoring n.
ssh-keygen -y -f private_key.pem > public_key.pubThe public key file doesn't.
It wouldn't need to, though. Given the private key (n,d), the public key is probably (n,65537).
Still, if someone puts your pub key in an authorized_keys of a malicious host, and then manipulates your DNS or ARP to conduct you to such host, you should get some SSH warnings about the host fingerprint, etc.
And still, if you're using a dedicated key, the only possible attack could be to make you commit your repo changes, to the malicious machine instead of to github.
At least when you use agent forwarding, your key is only exposed while you're actually connected to the machine.
`gd`
and
`gdc`
I'm sure you can figure out what each of those means.