Home  >  Article  >  Development Tools  >  How can git clone operate the specified branch code?

How can git clone operate the specified branch code?

青灯夜游
青灯夜游Original
2023-02-02 16:44:5226515browse

"git clone" can clone the specified branch code. What the "git clone" command does is clone the repository into a new directory, create remote tracking branches (visible with "git branch -r") for each branch in the cloned repository, and clone the checked out repository from Act as the initial branch for the currently active branch.

How can git clone operate the specified branch code?

The operating environment of this tutorial: Windows 7 system, Git version 2.30.0, Dell G3 computer.

git clone is a commonly used command in git. Its function is to clone the repository into a new directory, and you can clone the specified branch code.

git clone command

The function of git clone command is to clone the repository to a new directory and create a new directory for each file in the cloned repository. A remote tracking branch is created (visible using git branch -r ) and the repository checked out from the clone is used as the initial branch for the currently active branch.

After cloning, a normal git pull with no parameters will update all remote tracking branches, and a git pull with no parameters will additionally merge the remote master branch into the current master branch (if there is one).

This default configuration is achieved by creating a reference to the remote branch head under refs/remotes/origin and by initializing the remote.origin.url and remote.origin.fetch configuration variables.

The first step in performing remote operations is usually to clone a repository from the remote host. In this case, the git clone command is used.

$ git clone <版本库的网址>

For example, clone the jQuery repository.

$ git clone http://github.com/jquery/jquery.git

This command will generate a directory on the local host with the same name as the remote host's version library. If you want to specify a different directory name, you can pass the directory name as the second parameter of the git clone command.

$ git clone <版本库的网址> <本地目录名>

git clone supports multiple protocols. In addition to HTTP(s), it also supports SSH, Git, local file protocols, etc.

By default, Git will remove the '.git' suffix from the last directory name in the "Git URL" and use it as the directory name of the new clone project: (for example. git clone http://git.kernel.org/linux/kernel/git/torvalds/linux-2.6.git will create a directory called 'linux-2.6')

$ git clone http[s]://example.com/path/to/repo.git
$ git clone http://git.oschina.net/yiibai/sample.git
$ git clone ssh://example.com/path/to/repo.git
$ git clone git://example.com/path/to/repo.git
$ git clone /opt/git/project.git 
$ git clone file:///opt/git/project.git
$ git clone ftp[s]://example.com/path/to/repo.git
$ git clone rsync://example.com/path/to/repo.git

There is another way to write the SSH protocol .

$ git clone [user@]example.com:path/to/repo.git

Generally speaking, the Git protocol has the fastest download speed, and the SSH protocol is used when user authentication is required.

Application scenario example

Clone from upstream:

$ git clone git://git.kernel.org/pub/scm/.../linux.git mydir
$ cd mydir
$ make # 执行代码或其它命令

Use clone in the current directory without checkout :

$ git clone -l -s -n . ../copy
$ cd ../copy
$ git show-branch

Borrow from existing local directory Clone from upstream :

$ git clone --reference /git/linux.git 
    git://git.kernel.org/pub/scm/.../linux.git 
    mydir
$ cd mydir

Create a bare repository to publish your changes to the public :

$ git clone --bare -l /home/proj/.git /pub/scm/proj.git

More programming related For knowledge, please visit: Introduction to Programming! !

The above is the detailed content of How can git clone operate the specified branch code?. 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