githubteacher / advanced-06-09-15

Repository for June 9, 2015 Advanced Training
0 stars 3 forks source link

Please comment here with your expectations for the Advanced class #1

Open githubteacher opened 9 years ago

githubteacher commented 9 years ago

The Advanced class is a special animal. When we say "advanced" it means different things to different people. To help us meet your expectations, please let us know what it means to you and your expectations for the class on June 9th.

dangleton commented 9 years ago
mbrincho commented 9 years ago

Dealing with 'flawed' commits, ie:

turboki commented 9 years ago

Rebase vs Merge workflows

stabbylambda commented 9 years ago

Webhooks & CI integrations

adam-whitney commented 9 years ago

Our process requirements are to allow SWE and QE to collaborate and to ensure that only tested code goes into production. Our team develops server-side code, which currently must be deployed on well-known endpoints for client integration and testing, so having different server endpoints per branch is not an option. We've worked out a process that solves for all these requirements by using a "master" branch for releases, a "develop" branch for testing, and as many "feature" branches as there are SWEs developing features. I'd like to know if there is a "better" way.

Our current process: 1) ensure local master is up to date wrt origin/master * git pull origin master 2) create local feature branch off master * git branch 3) make changes to local feature branch and commit git * git commit -m "commit message" 4) push changes from local feature branch to remote feature branch * git push origin 5) switch to develop * git checkout develop 6) merge local feature branch into develop * git merge 7) resolve any conflicts and push changes to origin develop * git push origin develop * a CI build deploys the service artifact to maven Nexus repo and to dev server environment 8) create pull request for remote feature branch to master and assign to QE. 9) QE deploys artifact from maven to QA environment and adds more tests to the same feature branch as necessary * QE also commits, and pushes tests to origin * QE also merges tests from local feature branch into develop 10) Once QE is satisfied with tests * If there are any conflicts then they must be resolved by the SWE and repeat from step 3. * Finally, QE merges the pull request from the feature branch into origin master. 11) Release builds are made from master, and only have tested code.

apasaribu commented 9 years ago

Understanding Refs: relative refs, refspecs, special refs, packed refs, etc.

peterlubs commented 9 years ago

All of these are on the command line:

How do I see all commits by a certain person? How do I see all commits in a certain directory (by a certain person)? How do I see all the commits on a certain file? How do I rename a file? How do I rename a directory? How do I move a file? How do I move a directory? How do I revert a commit? How do I revert a merge? How do I revert a single file to a previous revision/date-time? How do I revert an entire directory to a previous revision/date-time? How do I get source of all files to a given timestamp? How do I get source of a certain directory at a given timestamp? How do I do dry runs that don’t change the repo for all commands? (like -n in Perforce) How do I see what will change locally before I do a fetch/pull? How do I see what will change remotely before I do a push? How do I only fetch/pull a certain directory or file? How do I only push a certain directory or file? How do I make a tag? How do I get all source at a certain tag? How do I get source of a directory at a certain tag? How do I clone a repo without history? How do I diff two (remote) branches on the command line? How do I stash changes and bring them back? How can I share my stashed changes with someone else? How do I switch branches with unstaged or committed files? How do I abort a merge? How do I abort a commit? How do I abort staging? How do I see deleted files or directories? How do I bring back a deleted file or directory? What is a hard reset? What is a soft reset? How do I create a pull request on the command line?

akshaysane commented 9 years ago

Automatic Fork Syncing. Granular permissions on release branches.

shwetasingh commented 9 years ago

Merge v/s rebase, using reflogs to find lost work after a terrible terrible merge conflict, hard reset.

sbusi commented 9 years ago

Integrating changes to multiple branches Reset a particular commit. Creating a branch from a particular commit.

githubstudent commented 9 years ago

Please add me to this repo

peterlubs commented 9 years ago

hello world

juryoku commented 9 years ago

meow

mikenau commented 9 years ago

Yinz

garbagemanphil commented 9 years ago

derp

letycarrasco commented 9 years ago

please add me

GeorgeFabian commented 9 years ago

woo

coreycaverly commented 9 years ago

a

mkiziltug commented 9 years ago

Hello

yuriyvl commented 9 years ago

hey hey

kathiefoley commented 9 years ago

please add me

ketanpul commented 9 years ago

add

pdonovan92130 commented 9 years ago

please add me too

bcampagnolo commented 9 years ago

http://www.pinkbike.com/news/video-manon-carpenter-fort-william-saga-2015.html

tthinh commented 9 years ago

helloworld

ketanpul commented 9 years ago

add

benichismo commented 9 years ago

Pretty please!?

vsriram2011 commented 9 years ago

@vsriram2011 please add

gregbaxter commented 9 years ago

add

steveanderson350 commented 9 years ago

add

garbagemanphil commented 9 years ago

for @bcampagnolo https://www.youtube.com/watch?v=oHg5SJYRHA0

sumanth-moparthy commented 9 years ago

add me

crystalmc101 commented 9 years ago

request push capability

egwall commented 9 years ago

request push, thanks!

shwetasingh commented 9 years ago

Please add me..thanks!

ksairamesh commented 9 years ago

Workflow strategies used by teams