1、git init
git init:用于在当前目录初始化一个新的git仓库。
示例:
假设你有一个项目文件夹my_project,在命令行中进入该文件夹后,执行git init。
$ cd my_project
$ git init
Initialized empty Git repository in /path/to/my_project/.git/
这样就在my_project文件夹下创建了一个隐藏的.git文件夹,这个文件夹用于存储仓库的所有版本控制信息。
2、git add
用途:将文件添加到暂存区,准备提交。
示例:
添加单个文件,比如index.html。
$ git add index.html
添加所有文件(包括新建和修改的文件)。
$ git add .
3、git commit
用途:将暂存区的文件提交到本地仓库,形成一个新的版本。
示例:
简单的提交,附带提交信息。
$ git commit -m "Initial commit of my project"
[master (root - commit) a1b2c3d] Initial commit of my project 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.html
其中 -m参数后面跟着提交信息,用于简要描述本次提交所做的更改。
4、git status
用途:查看工作区(查看当前目录下的文件)和暂存区的状态。
示例:当你修改了文件但还没添加到暂存区是,执行git status。
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
这个输出告诉你index.html被修改了,但还没添加到暂存区。
5、git log
用途:查看提交历史记录。
示例:
$ git log
commit a1b2c3d (HEAD -> master)
Author: Your Name <your@email.com>
Date: Mon Nov 18 10:00:00 2024 -0500
Initial commit of my project
它会列出每个提交的哈希值(如a1b2c3d)、作者、日期和提交信息,最新的提交在最上面。
6、git branch
用途:用于创建、列出和删除分支。
示例:创建一个新分支feature - branch。
$ git branch feature - branch
列出所有分支,当前分支会用*标记。
$ git branch
* master
feature - branch
删除分支(假设feature - branch已经合并到主分支或者你确定不需要它了)。
$ git branch -d feature - branch
Deleted branch feature - branch (was a1b2c3d).
7、git checkout
用途:切换分支或者恢复工作区的文件。
示例:切换到feature - branch。
$ git checkout feature - branch
Switched to branch 'feature - branch'
恢复工作区中被修改的文件到最近一次提交的状态。假设index.html被修改了,你想撤销修改。
$ git checkout -- index.html
8、git merge
用途:将一个分支合并到另一个分支。
示例:假设你在feature -branch上完成了开发,要将其合并到master分支。首先切换到master分支,然后执行合并。
$ git checkout master
Switched to branch 'master'
$ git merge feature - branch
Updating a1b2c3d..b4c5d6e
Fast - forward
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
上面的输出表示feature - branch成功合并到master分支,并且显示了合并过程中文件的变化情况。
9、git pull
用途:从远程仓库获取最新的更改并合并到本地仓库。
示例:假设你的远程仓库名origin,你要从远程仓库的master分支拉取更新。
$ git pull origin master
From https://github.com/your - username/your - repo
* branch master -> FETCH_HEAD
Updating a1b2c3d..b4c5d6e
Fast - forward index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
这会先获取远程仓库的更新,然后自动尝试合并到本地仓库的当前分支。
10、git push
将本地仓库的提交推送到远程仓库。
示例:假设你的远程仓库名为origin,要将本地的master分支推送到远程仓库的master分支。
$ git push origin master
Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 307 bytes | 307.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/your - username/your - repo.git * [new branch] master -> master
这个命令会将本地仓库的master分支的最新提交推送到远程仓库对应的master分支上。
11、git remote show origin(查看本地与远程分支关联关系)
12、git remote prune(同步分支结构)
13、git remote set stream url(关联远程分支)