Posts tagged with 'git'
Welcome to another "Weekly Concerns". This is a post-a-week series of interesting links, relevant to programming and programmers. You can check out previous Weekly Concerns posts in the archive.
It's Seth Petry-Johnson's birthday this weekend. That doesn't really tie into this week's Weekly Concerns, but I guess you could check out Seth's blog! It will also be David Giard's birthday as well: you should check out his excellent Technology and Friends podcast/TV show. Episode 144 is particularly good.
- If you've played around with game system emulators, you might be familiar with some of the image scaling filters meant to enhance pixel art. Microsoft has developed their own image scaling algorithm which yields surprisingly good results. They've even set up a comparison page with competitive image scaling techniques.
- #1014 of 2000 things you should know about C# - using the default operator in a generic class.
- Deploying an Azure Website and WebJob via Git, from Mark Greenway
- How to specify a Webpage Icon for for Web Clip - defining an apple-touch-icon in your markup.
If you have an interesting link that you'd like to see in Weekly Concerns, leave a comment or contact me.
I'll admit that git sometime baffles me, and I muddle my way through it. That isn't to say that I don't like using it, or it's not valuable, just that I don't have an encyclopedic knowledge of everything about git. However, an opportunity recently came up to expand my knowledge of git:
I have been trying to make some more open source contributions recently. For one of the projects, I had to make some minor changes to the web.config and csproj files in order to get it working on my local machine. No big deal, except that these are changes that I don't want to commit to my fork, and certainly not to the upstream project.
What I could do is simply copy these changes into a text file somewhere, merge with the upstream project, and then copy/paste the changes so I could go back to work. That's an okay workaround, but it turns out that using git stash might be a better solution. git stash simply takes all the changes to files and stores them "away" into a stash list.
Here's an example, starting with the two files that I modified to get the site working, but don't want to actually commit:
Now, I'll stash everything by using "git stash". After a git stash, if you type "git status", you'll see that the working directory is "clean": no pending changes. If you then type "git stash list", you'll see a list of all your stashes (which is just one, right now).
So, now that my working directory is clear, I can go ahead and, say, "git merge upstream" or something like that without any problem. Once that merge is done, I can bring back the changes with "git stash apply" or, more explicity, "git stash apply stash@{0}", bringing back my working changes.
So that's kinda convenient and way quicker than the whole text file/copy/paste deal.
P.S. If you are struggling with Git, I recommend checking out Git Immersion. It's quick and easy, and I guarantee you that you'll start to see the benefits of using git.