search
HomeJavajavaTutorialWhat is Git? Common operations of git

What is Git? Common operations of git

Jun 30, 2017 am 10:01 AM
operateIntroduction

1 Overview

1. What is Git?

Git is a distributed version control system.

2. Centralized and distributed comparison

In a centralized version control system, the version library is concentrated on the central server. When working, you need to obtain the latest version from the central server first. After modification, is then pushed to the central server. Not only is it limited by network transmission, but also once the central server fails, the entire version library may be lost. The distributed version control system has no central server. Each working computer has a complete version library. Task operations are based on local files. After the file is modified, only Just push it to other collaborators, which not only gets rid of the limitation of network speed, but also the version library is distributed on multiple computers, making it safer.

3. Git working principle

Git local operations are divided into three areas:

  • Workspace: All directories visible in the local warehouse belong to the workspace.

  • # Staging area: In the index file in the ".git" folder.

  • # Repository: In the ".git" folder.

First execute the "git add" command to put the operation into the staging area (Stage), and then execute "git commit" to submit the files in the staging area to Repository.

4. Snapshot

The concept of snapshot comes from the field of photography. It is a way to quickly record information. The carrier is small in size and almost contains For all the information you are interested in, the original Git English text introduces it as follows:

Every time you commit, or save the state of your project in Git, it basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot.

Snapshots can be understood as a simple way to record the current state of an object. Although this method is simple, it contains all the information of the object.

Git records not the differences between versions, but a snapshot of each version.

5. Version

The version is project-wide and represents the status of the entire project. After one of the files is modified and submitted, the version is updated. The versions of other unmodified files are also updated.

6.master

The master branch automatically created by Git. Only this branch is visible to other users, and other branches are not visible to other users.

7.HEAD

Points to the branch and version to which the workspace file belongs.

2 Branch

1. What is a branch?

Based on the independent development context of the trunk, it does not affect the development of the trunk.

2. Create a branch

Create a new branch based on a version of an existing branch.

3. Branch merge

If starting from a common starting point, only one branch A of the two branches has modified the file, then The pointer of the other branch can point to the current version of branch A, and the merged file is the current version of A. If starting from a common starting point, both branches have modified files, there will be conflicts when merging , manually trim them, then add the files to the buffer Add to Index, and then commit.

When one branch merges with another branch, a new version will be generated.

Three tags

The tag has the same function as the commit id. They are used to mark the version. The commit id uses 40 characters and is difficult to remember. , therefore a simplified way of marking versions, namely tags, has been developed to customize an easy-to-remember name for versions that require special attention to facilitate subsequent inquiries.

Four Common Operations

  • #reset: Go back to a certain version.

  • checkout: Convert the files in the workspace to a certain version and select a branch as the active branch.

This is what I learned and summarized for the first time. It focuses on simple operations under Eclipse. There are too few theoretical things. The following link explains it in more detail. , you can study in depth:

The above is the detailed content of What is Git? Common operations of git. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does the class loader subsystem in the JVM contribute to platform independence?How does the class loader subsystem in the JVM contribute to platform independence?Apr 23, 2025 am 12:14 AM

The class loader ensures the consistency and compatibility of Java programs on different platforms through unified class file format, dynamic loading, parent delegation model and platform-independent bytecode, and achieves platform independence.

Does the Java compiler produce platform-specific code? Explain.Does the Java compiler produce platform-specific code? Explain.Apr 23, 2025 am 12:09 AM

The code generated by the Java compiler is platform-independent, but the code that is ultimately executed is platform-specific. 1. Java source code is compiled into platform-independent bytecode. 2. The JVM converts bytecode into machine code for a specific platform, ensuring cross-platform operation but performance may be different.

How does the JVM handle multithreading on different operating systems?How does the JVM handle multithreading on different operating systems?Apr 23, 2025 am 12:07 AM

Multithreading is important in modern programming because it can improve program responsiveness and resource utilization and handle complex concurrent tasks. JVM ensures the consistency and efficiency of multithreads on different operating systems through thread mapping, scheduling mechanism and synchronization lock mechanism.

What does 'platform independence' mean in the context of Java?What does 'platform independence' mean in the context of Java?Apr 23, 2025 am 12:05 AM

Java's platform independence means that the code written can run on any platform with JVM installed without modification. 1) Java source code is compiled into bytecode, 2) Bytecode is interpreted and executed by the JVM, 3) The JVM provides memory management and garbage collection functions to ensure that the program runs on different operating systems.

Can Java applications still encounter platform-specific bugs or issues?Can Java applications still encounter platform-specific bugs or issues?Apr 23, 2025 am 12:03 AM

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

How does cloud computing impact the importance of Java's platform independence?How does cloud computing impact the importance of Java's platform independence?Apr 22, 2025 pm 07:05 PM

Cloud computing significantly improves Java's platform independence. 1) Java code is compiled into bytecode and executed by the JVM on different operating systems to ensure cross-platform operation. 2) Use Docker and Kubernetes to deploy Java applications to improve portability and scalability.

What role has Java's platform independence played in its widespread adoption?What role has Java's platform independence played in its widespread adoption?Apr 22, 2025 pm 06:53 PM

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

How do containerization technologies (like Docker) affect the importance of Java's platform independence?How do containerization technologies (like Docker) affect the importance of Java's platform independence?Apr 22, 2025 pm 06:49 PM

Containerization technologies such as Docker enhance rather than replace Java's platform independence. 1) Ensure consistency across environments, 2) Manage dependencies, including specific JVM versions, 3) Simplify the deployment process to make Java applications more adaptable and manageable.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.