667
edits
Changes
→Week 4
** <code>git rebase -i</code> starts an interactive rebase, and lets you specify what to do with each commit. <code>git rebase --abort</code> let's you stop it mid-way through.
** If you need to squash the last few commits, you can use <code>git rebase -i HEAD~2</code> for example.
* conflicts while merging, rebasing
** Git compares files at the line level: if two commits both change the same line(s), there will be a conflict
** Git can't automatically resolve two competing changes to the same line(s), since it isn't clear which one is right--you have to do it manually
** Using <code>git status</code> to discover which files have conflicts
** Examining, understanding, and working with conflict markers ">>>>" and "<<<<"
** <code>git add</code> and <code>git commit</code>
** Here's a [https://www.youtube.com/watch?v=4dJcsF6hgS4&index=5&list=PLDshL1Z581YYxLsjYwM25HkIYrymXb7H_ video demo] of resolving merge conflicts manually
** Various visual tools exist for doing this, too:
*** [http://meldmerge.org/ Meld]
*** [http://naleid.com/blog/2013/10/29/how-to-use-p4merge-as-a-3-way-merge-tool-with-git-and-tower-dot-app p4merge]
*** [https://developer.atlassian.com/blog/2015/12/tips-tools-to-solve-git-conflicts/ others discussed here]
* gh-pages
** Great for hosting static web content associated with a project