Click here to Skip to main content
15,887,214 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
AnswerRe: GIT Time again - what am I missing? Pin
Member 1309459714-Feb-24 1:01
Member 1309459714-Feb-24 1:01 
AnswerRe: GIT Time again - what am I missing? Pin
Davyd McColl14-Feb-24 2:41
Davyd McColl14-Feb-24 2:41 
AnswerRe: GIT Time again - what am I missing? Pin
Myron Dombrowski14-Feb-24 4:12
Myron Dombrowski14-Feb-24 4:12 
AnswerRe: GIT Time again - what am I missing? Pin
Steve Naidamast14-Feb-24 4:14
professionalSteve Naidamast14-Feb-24 4:14 
AnswerRe: GIT Time again - what am I missing? Pin
Chris @ SAS14-Feb-24 5:15
Chris @ SAS14-Feb-24 5:15 
GeneralRe: GIT Time again - what am I missing? Pin
cegarman14-Feb-24 5:30
cegarman14-Feb-24 5:30 
AnswerRe: GIT Time again - what am I missing? Pin
Juan Pablo Reyes Altamirano14-Feb-24 7:23
Juan Pablo Reyes Altamirano14-Feb-24 7:23 
AnswerRe: GIT Time again - what am I missing? Pin
Stacy Dudovitz14-Feb-24 13:35
professionalStacy Dudovitz14-Feb-24 13:35 
The point of GIT, and what it's trying to solve basically boils down to this:

1) The repository lives on your local OS file system. What that offers is a way to version control anything you want (more on text vs. binary ahead), and can sneaker net the entire repository with the copy command without losing version information of changes! All of the deltas and history are all contained in a nice neat folder named .git.

2) You can also (instead of sneaker net) host the source code on a remote server, which allows anyone with the necessary privileges to pull or commit changes.

3) You can apply filters on what files are committed (checked-in for SVN/SourceSafe users) using the .gitignore file. This text file lets you filter out compiler files (e.g. .objs) and auto-generated files (e.g. files that change by the build process and cannot/should not be modified).

4) The real power comes in with the versioning. Every commit from the first repository creation is demarcated with a SHA. Git SHAs are unique identifiers for commits, files, and other objects in a Git repository.

5) What can you do with SHAs? You can branch off of anywhere to create a separate set of commits unique to that branch. Example: You might want to branch at a project release point, so that development can continue while changes are frozen.

Here is where real power lies. Devs have the ability to continue to make commits to the branch (e.g. a QA branch when devs get feedback on bugs to make fixes), while development continues along the main line. When the QA branch is blessed and has all of the fixes necessary to promote to release, the changes can be merged back into the main line. While most of that can be automated, some user interaction might (often will) be necessary to resolve conflicts.

6) In projects of 2 or more devs, typically there are multiple concurrent branches. Example: Development, QA and Release. Depending on the shop, some choose to branch to make a latest QA, some merge the latest dev line into a separate QA line. There are variations on the theme, but the takeaway is that you can make Git adapt to your dev culture, and not the other way around.

7) Lastly, there are "stupid Git tricks" that can make life easier (and more complicated, depending on your perspective). Example: One can Rebase to get to a "clean" state. A rebase will simply drop merge commits from the todo list, and put the rebased commits into a single, linear branch. Rebase, along with Merge, are just Git commands that specialize in integrating changes.

8) There are many 3rd party utilities for integrating with Git. You mention Visual Studio as one example, but there are many GUI interfaces (e.g. SourceTree) as well as command line (e.g. Tortoise Git). The beauty of Git is that, once again, devs aren't locked into using only one Git tool... you can choose the GUI you like, or drop down to the command line. The changes, commits and pulls still behave the same.

9) Git is typically used to provide revision control on text files, but can be used on binary files as well. Once could imagine a watermark or binary file where the actual bytes matter. You would then want to revision down to the byte level.

Git is a relatively straight forward tool for revision control management that is deployed across many OS platforms to provide uniformity. You only need to learn Git once -- you then know how it works on Windows, Linux and the MAC (or any other OS/machine environment that supports it).
GeneralI have been exiled! Pin
glennPattonWork313-Feb-24 0:10
professionalglennPattonWork313-Feb-24 0:10 
GeneralRe: I have been exiled! Pin
RickZeeland13-Feb-24 0:58
mveRickZeeland13-Feb-24 0:58 
GeneralRe: I have been exiled! Pin
Nelek13-Feb-24 5:49
protectorNelek13-Feb-24 5:49 
GeneralRe: I have been exiled! Pin
Jörgen Andersson13-Feb-24 1:41
professionalJörgen Andersson13-Feb-24 1:41 
GeneralRe: I have been exiled! Pin
jschell13-Feb-24 5:36
jschell13-Feb-24 5:36 
GeneralRe: I have been exiled! Pin
PIEBALDconsult13-Feb-24 2:11
mvePIEBALDconsult13-Feb-24 2:11 
GeneralRe: I have been exiled! Pin
charlieg13-Feb-24 3:35
charlieg13-Feb-24 3:35 
GeneralRe: I have been exiled! Pin
glennPattonWork313-Feb-24 3:55
professionalglennPattonWork313-Feb-24 3:55 
GeneralRe: I have been exiled! Pin
Nelek13-Feb-24 5:54
protectorNelek13-Feb-24 5:54 
GeneralRe: I have been exiled! Pin
Alister Morton16-Feb-24 3:58
Alister Morton16-Feb-24 3:58 
General"Honesty is the best policy." Well, yes ... but ... Pin
OriginalGriff12-Feb-24 22:58
mveOriginalGriff12-Feb-24 22:58 
GeneralRe: "Honesty is the best policy." Well, yes ... but ... Pin
Richard Deeming12-Feb-24 23:14
mveRichard Deeming12-Feb-24 23:14 
GeneralRe: "Honesty is the best policy." Well, yes ... but ... Pin
Nelek13-Feb-24 5:55
protectorNelek13-Feb-24 5:55 
GeneralRe: "Honesty is the best policy." Well, yes ... but ... Pin
RickZeeland13-Feb-24 0:56
mveRickZeeland13-Feb-24 0:56 
GeneralRe: "Honesty is the best policy." Well, yes ... but ... Pin
BernardIE531713-Feb-24 2:40
BernardIE531713-Feb-24 2:40 
GeneralWordle 969 Pin
StarNamer@work12-Feb-24 13:10
professionalStarNamer@work12-Feb-24 13:10 
GeneralRe: Wordle 969 Pin
Sandeep Mewara12-Feb-24 16:19
mveSandeep Mewara12-Feb-24 16:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.