Ok, provided there is an actual go import dependency from the existing code to the new dependency, then I guess `go get -u` is sufficient *if* you want to upgrade all dependencies.

But possibly a more important point about dependency management is that stepping up to the latest version of all dependencies is not always desirable. In normal development, we'll want to make a change based on known good versions of dependencies, which `godep restore` could deliver. Upgrading (one or more) dependencies is a logically separate step (and hopefully a separate commit) that requires some understanding of the state of HEAD of the dependencies being updated. You probably have this information to hand, but it's not necessarily known to remote developers. This is analogous to the way gem dependencies are managed in Ruby or JAR dependencies, via Maven or Ivy, in Java.

Crucially in this context, having a known working set of versions of dependencies means that a newcomer can set up and have a high probability of a clean test run, rather than running the risk that one of the dependencies is currently not ready for consumption.