Git常用命令clone和init和add
1、clone
拷贝一个 Git 仓库到本地。
# 下载一个项目和它的整个代码历史
# 该命令可用于通过指定的URL获取一个代码库
$ git clone repository_url
# 创建一个本地仓库的克隆版本
# 使用本地的一个仓库来创建一个仓库
$ git clone /path/to/repository
# 如果是远端服务器上的仓库
$ git clone username@host:/path/to/repository
# 将远程仓库下载到指定的目录
$ git clone <远程仓库> <本地目录名>
在当前目录中使用克隆,而无需检出:
$ git clone https://gitee.com/zsx242030/um.git
$ cd um
$ git checkout branch_a
Switched to a new branch 'branch_a'
Branch branch_a set up to track remote branch branch_a from origin.
$ ls
a.txt b.txt c.txt d.txt e.txt f.txt new.txt
# 会将当前的分支信息克隆到copy目录中
$ git clone -l -s -n . ../copy
Cloning into '../copy'...
done.
$ cd ../copy
$ ls
$ git status
On branch branch_a
Your branch is up-to-date with 'origin/branch_a'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: a.txt
deleted: b.txt
deleted: c.txt
deleted: d.txt
deleted: e.txt
deleted: f.txt
deleted: new.txt
$ git show-branch
[branch_a] branch_a | update a.txt | add new.txt
从现有本地目录借用从上游克隆:
# um为上面克隆下来的本地仓库
$ git clone --reference /project/project.git
创建一个裸存储库以将您的更改发布给公众:
$ git clone --bare -l ./um/.git ./scm/.git
Cloning into bare repository './scm/um.git'...
done.$ git clone --bare -l ./um/.git ./scm/um.git
Cloning into bare repository './scm/um.git'...
done.
git clone 时,可以所用不同的协议,包括 ssh,git,https 等,其中最常用的是 ssh,因为速度较快,还可以配置
公钥免输入密码。各种写法如下:
git clone git@github.com:fsliurujie/test.git --SSH协议
git clone git://github.com/fsliurujie/test.git --GIT协议
git clone https://github.com/fsliurujie/test.git --HTTPS协议
2、init
在目录中创建新的 Git 仓库。
# 在当前目录新建一个Git代码库
$ git init
# 新建一个目录,将其初始化为Git代码库
# 该命令可用于创建一个新的代码库
$ git init repository-name
# 指定某个目录成为中心仓库
$ mkdir project
$ cd project/
$ git init --bare project.git
Initialized empty Git repository in C:/Users/zhangshixing/Desktop/project/project.git/
$ git clone project.git project1
Cloning into 'project1'...
warning: You appear to have cloned an empty repository.
done.
3、add
将工作区的文件添加到暂存区。
# 添加指定文件到暂存区
# 该命令可以将文件添加至暂存区
# 追踪新增的指定文件
$ git add file1 file2 ...
# 该命令可以将多个文件添加至暂存区
$ git add *
# 添加指定目录到暂存区,包括子目录
$ git add dir
# 添加当前目录的所有文件到暂存区
# 追踪所有新增的文件
$ git add .
# 等价于
$ git add -A
# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
$ git add -p
# 交互式添加文件到暂存区
git add -i
# 这个命令可以帮你把项目文件夹下的所有.html文件都放进暂存区
# 当然你可以换成其他任何扩展名,就把该扩展名的所有文件都放进暂存区
$ git add \*.html
git add .
操作的对象是当前目录所有文件变更,.
表示当前目录,会监控工作区的状态树,使用它会把工作
区的所有变化提交到暂存区,包括文件内容修改( modified
)以及新文件 (new
),但不包括被删除 (delete
) 的文
件。