啥是 Git
Git是一种分布式版本控制系统,用于跟踪文件的变化并协作开发, 换句话说, git可以创建和保存你项目的快照及与之后的快照进行对比。。
图示
说明:
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
这个图看着复杂, 其实从上到下分了三层箭头:
-
最下层 从左到右:
- 将我们在工作区的修改 通过 add 命令添加到 暂存区,
- 暂存区的内容需要通过 commit 命令添加到本地仓库
- 本地仓库的内容需要通过 push 推送到远程仓库
-
中间层 从右到左
- 如果在GitHub等网站上发现一个远程仓库, 那么就可以用 clone 将远程仓库克隆到当前目录下
- 然后, 使用 checkout 切换分支或者 创建并切换到新的分支
-
最上层:
- 使用 pull 从远程仓库拉取最新的 变更
具体用法举例
- 假设远程仓库的地址为: https://github.com/example/repo.git
-
git init
- 用法:
git init
- 描述:在当前目录中初始化一个新的Git仓库。
- 示例:在新项目目录中执行
git init
初始化仓库。
- 用法:
-
git clone
- 用法:
git clone <repository_url>
- 描述:克隆远程仓库到本地。
- 示例:
git clone https://github.com/example/repo.git
- 这将在当前目录下创建一个名为
repo
的文件夹,并将远程仓库的所有内容复制到该文件夹中。 - 然后使用
cd repo
进入仓库根目录
- 用法:
-
git add
- 用法:
git add <file>
- 描述:将文件添加到暂存区。
- 示例:
git add index.html
- 用法:
-
git commit
- 用法:
git commit -m "commit message"
- 描述:将暂存区的文件提交到本地仓库。
- 示例:
git commit -m "Initial commit"
- 用法:
-
git status
- 用法:
git status
- 描述:查看工作区和暂存区的状态。
- 示例:
git status
- 用法:
-
git pull
- 用法:
git pull <remote> <branch>
- 描述:从远程仓库拉取最新的变更。
- 示例:
git pull origin master
- 用法:
-
git push
- 用法:
git push <remote> <branch>
- 描述:将本地的变更推送到远程仓库。
- 示例:
git push origin master
- 用法:
-
git branch
- 用法:
git branch
或git branch <branch_name>
- 描述:查看分支信息或创建新分支。
- 示例:
- 查看分支:
git branch
- 创建新分支:
git branch feature
- 查看分支:
- 用法:
-
git checkout
- 用法:
git checkout <branch_name>
或git checkout -b <new_branch>
- 描述:切换分支或创建并切换到新分支。
- 示例:
- 切换分支:
git checkout feature
- 比如
git checkout master
可以切换回主分支
- 比如
- 创建并切换到新分支:
git checkout -b new-feature
- 切换分支:
- 用法:
-
git merge
- 用法:
git merge <branch_name>
- 描述:将指定分支的变更合并到当前分支。
- 示例:在master分支上执行
git merge feature
- 用法:
-
git log
- 用法:
git log
- 描述:查看提交日志。
- 示例:
git log
- 用法:
-
git remote
- 用法:
git remote -v
- 描述:显示远程仓库的信息。
- 示例:
git remote -v
- 用法:
这些命令覆盖了Git的基本操作,你可以根据实际情况组合使用它们。注意,这里提到的 <branch_name>
、<file>
、<repository_url>
等是占位符,具体使用时需要替换为实际的分支名、文件名或仓库地址。
注意
在Git中,origin
是默认的远程仓库的名称。当你克隆一个远程仓库时,Git会自动为这个远程仓库分配一个名字,默认为 origin
。你可以通过查看远程仓库列表来确认这一点,使用以下命令:
git remote -v
上述命令会显示你当前配置的所有远程仓库及其URL。通常,你会看到一个名为 origin
的远程仓库,它指向你最初克隆的仓库。
在Git中,origin
的名字并不是固定的,你也可以使用其他名字,但通常习惯性地使用 origin
。当你执行像 git push
或 git pull
这样的命令时,Git会默认使用 origin
作为远程仓库的名称,除非你显式指定其他的远程仓库名称。
示例中的命令中使用了 origin
,这是因为在克隆远程仓库时,Git默认将远程仓库的名称设置为 origin
。如果你克隆了其他仓库,那么远程仓库的名称可能不是 origin
,而是仓库本身的名字或者你配置的其他名字。