Skip to content

Instantly share code, notes, and snippets.

@wesen
Created May 25, 2022 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wesen/26982b2c7e160f15d7e9f335b508ca55 to your computer and use it in GitHub Desktop.
Save wesen/26982b2c7e160f15d7e9f335b508ca55 to your computer and use it in GitHub Desktop.

Questionnaire about git usage and understanding

[[Source Control]] [[Git]]

  • Do you think of a git commit as:

    • A patch file / diff + metadata / parents
    • A snapshot of the source directory + metadata (commit message, parents)
    • Both
    • Something else
  • When you do code reviews, do you:

    • Look at the full patch (compare files in github, review view in phabricator)
    • Look at individual commits / commit history
    • Checkout the feature branch
    • Checkout what the merge result would be
    • Checkout individual commits of the feature branch
    • Run the software under review manually
  • Do you rebase branches before opening a pull request?

  • Do you have long running feature development?

    • Do you do "long" feature development in side branches?
    • How often do you merge the progress of long running feature development into the main branch?
  • Do you use squash merges? Fast forward merges?

    • If yes, why?
    • If not, why?
  • Do you look at the git history?

    • If so, using which tools, and in what way?
  • Do you clean up your branch history before submitting a PR?

  • Do you do interactive staging / selective staging (only certain hunks, etc...)?

    • If so, which tools do you use?
  • How often do you encounter merge conflicts?

  • If you encounter merge conflicts, what is a typical conflict size?

  • What techniques do you use to resolve git conflicts?

    • Do you use git rerere?
  • What is your current git situation:

    • How many repos?
    • Average repo size:
      • Contributors
      • Age
      • Overall LOC
      • Number of commits on main
      • Number of merged pull requests on main
      • Number of pull requests merged per week
    • Pull requests:
      • Average commit count in pull request
  • Which source control systems did you use in the past:

    • Copy folders / zip folders
    • RCS
    • CVS
    • SVN
    • Perforce
    • Visual Sourcesafe
    • mercurial
    • arch/monotone/artisanal
  • Which source control webapps/services do you use for code reviews:

    • Self hosted
    • Phabricator
    • gitlab
    • github
    • bitbucket
    • jetbrains upsource
    • other
  • How long have you been using git for?

  • How well do you know git internals?

    • I am a git contributor
    • I implemented a git clone / I know them quite well
    • I roughly know about git internals
    • Not well
  • Do you use additional CLI tools (git extensions, etc...) to assist you when working with source control?

  • How much did you tweak your gitconfig (how many aliases, special tweaks, etc...)

  • Do you help other colleagues with source control (git) issues?

    • If so, what are the issues you usually encounter?
    • How much git-fu do you have to apply to solve the issues?
  • Do you use code style as a way to facilitate source control operations?

  • What kind of merge conflicts do you most commonly have?

    • Conflicts on index files like package.json or Makefile
    • Conflicts on function argument lists
    • Conflicts on terse one-line style code
@wesen
Copy link
Author

wesen commented May 25, 2022

  • Do you know what interactive rebase is?
  • Do you mostly use git via IDE or other GUI tools?
  • Do you know what the reflog is?

@wesen
Copy link
Author

wesen commented May 25, 2022

  • Have you had to cleanup history with filter-branch?
    • if so, why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment