Patrick Steinhardt <ps@xxxxxx> writes: > back when Git was in its infancy, remotes were configured via separate > files in "branches/" (back in 2005). This mechanism was replaced later > that year with the "remotes/" directory. These mechanism have evenutally > been replaced by config-based remotes,... Just a historical note, as I am not sure how much of it still matters. In all of the above "replaced" is an incorrect verb to use. "A more-powerful-but-different mechanism to do the same and more was introduced later" is a fair statement, though. Specifically the ".git/branches/name" mechanism was never removed as it had one distinct advantage over all other mechanisms for users who have to juggle tons of remotes that change either their URLs or branch names or both not so infrequently. Instead of having to edit files in .git/remotes/*, being able to say $ ls .git/branches/*partialname* $ echo "$URL#$branch" >.git/branches/foo $ rm .git/brnaches/foo was powerful. Offhand I do not know if "git remote" command improved the usability aspect of newer mechanisms good enough to allow us to start using the verb "replace" here.