赞
踩
本文主要参考:
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
Git 是一个分布式版本控制系统,它将项目的存储和版本控制分布在本地和远程仓库之间。以下是 Git 中涉及的一些核心概念:
本地仓库是存放在本地计算机上的版本控制仓库,包含完整的项目历史和文件。
相关命令:
git init: 在一个目录中初始化一个新的Git仓库。
git clone <repository>: 克隆一个远程仓库到本地。
远程仓库是托管在网络上的 Git 仓库,可以通过网络协议(如 HTTPS、SSH)访问。
相关命令:
git remote add <name> <url>: 添加一个远程仓库。
git push <remote> <branch>: 将本地分支的提交推送到远程仓库。
git pull <remote> <branch>: 从远程仓库拉取并合并变化到本地仓库。
工作区是包含项目实际文件的目录,是你编辑和修改文件的地方。
相关命令:
git status: 显示工作区和暂存区的状态,显示未提交的修改。
暂存区是介于工作区和本地仓库之间的缓冲区域,用于存放即将提交的文件修改。
相关命令:
git add <file>: 将文件添加到暂存区。
git reset <file>: 从暂存区移除文件,但保留工作区中的修改。
提交是将暂存区的修改保存到本地仓库的操作,创建了项目的一个版本。
相关命令:
git commit -m "Commit message": 将暂存区的修改提交到本地仓库,并附带一条提交信息。
git clone
git clone
命令用于克隆(复制)一个远程仓库到本地。
git clone <repository> [<directory>]
# <repository>: 远程仓库的 URL。
# <directory>: 本地目录的名称,可选参数,如果不指定,默认使用远程仓库的名称。
git clone -b <branch> <repository>
示例:
git clone -b development https://github.com/example/repo.git
git add
git add 命令用于将文件的修改添加到暂存区,以便后续提交。
git add <file>
git add -A
# 或者
git add .
git add <pathspec>
示例:
git add a.txt # 添加 a.txt 到暂存区
git add *.txt # 添加所有以 .txt 结尾的文件到暂存区, *注意不会穿透文件夹
git add dir_name # 添加 dir_name 下的所有文件到暂存区
git commit
将暂存区的更改提交到本地仓库,并创建一个新的提交(commit).
git commit -m "Commit message"
git commit -a -m "Commit message"
git remote
git remote 命令用于管理远程仓库.
git remote [subcommand] [options] [args]
# subcommand: 子命令,用于执行不同的操作。
# options: 选项,用于指定一些额外的参数。
# args: 参数,用于指定远程仓库的名称等。
git remote add <remote-name> <url>
# <remote-name>: 远程仓库的名称,通常为 origin。
# <url>: 远程仓库的 URL。
示例:
git remote add origin https://example.com/repo.git
git remote remove <remote-name>
# 或者
git remote rm <remote-name>
# <remote-name>: 要移除的远程仓库的名称。
示例:
git remote remove origin
git remote rename <old-name> <new-name>
# <old-name>: 已存在的远程仓库的名称。
# <new-name>: 要修改为的新名称。
示例:
git remote rename origin new_origin_name
git remote show <remote-name>
示例:
git remote show origin
git remote -v
git push
git push 命令用于将本地仓库的提交推送到远程仓库。
git push <remote> <branch>
# <remote>: 远程仓库的名称,通常为 origin。
# <branch>: 本地分支的名称,将该分支的提交推送到远程仓库。
git push -u <remote> <branch>
示例
git push -u origin main
git push --force <remote> <branch>
示例:
git push --force origin main
git push --all <remote>
示例:
git push --all origin
git push --tags <remote>
示例:
git push --tags origin
git push --delete <remote> <branch>
示例:
git push --delete origin branch_name
git checkout
git checkout 命令用于切换分支或检出文件, 从本地仓库检出到工作区。它有不同的参数,根据用途可以分为两个主要类别:分支操作和文件操作。
切换分支的影响:
切换分支会将工作区的文件替换为目标分支的文件,因此工作区的内容会被改变。
切换分支不直接影响暂存区,暂存区的内容保持不变。
HEAD 指针将移动到目标分支,表示当前所在的分支。
检出文件的影响:
检出文件会用指定版本的文件替换工作区中的文件,因此工作区的内容会被改变。
如果文件之前已经被添加到暂存区,检出文件会将暂存区中的文件版本替换为指定版本的文件。
HEAD 指针保持不变,因为检出文件不涉及分支切换。
分支操作
1.切换分支
git checkout <branch>
# <branch>: 要切换到的目标分支。
示例:
git checkout dev # 切换到 dev 分支
git checkout -b <new-branch>
示例:
git checkout -b dev2 # 建立新的分支, 名称为 dev2
git checkout -
文件操作
git checkout <file>
# <file>: 要检出的文件路径。
示例:
git checkout index.html
git checkout <branch> -- <file>
# <branch>: 从该分支检出文件。
# <file>: 要检出的文件路径。
示例:
git checkout dev -- index.html
# 从 dev 分支检出 index.html 到工作区
git checkout -- .
git fetch
git fetch 命令用于从远程仓库下载新的分支和提交(commit),以及更新本地的远程跟踪分支(remote-tracking branch)。git fetch 用于获取远程仓库的最新变更,但并不将这些变更合并到当前分支。它主要用于同步本地仓库和远程仓库的状态。
git fetch -a
(use “git rm --cached …” to unstage)
git remote 命令有哪些参数, 什么作用写出使用方法和注释
如果远程存在一个分支 okld,而你本地没有这个分支,你可以使用以下命令将该分支拉取到本地并与远程分支建立关联:
git checkout -b okld origin/okld
这个命令的作用是在本地创建一个新分支 okld,并将其与远程的 origin/okld 分支关联起来。这样,你就在本地创建了一个与远程分支同名的分支,并且两者建立了关联。
如果你已经有一个本地分支想要与远程分支建立关联,也可以使用以下命令:
git branch -u origin/okld okld
这个命令将本地分支 okld 与远程分支 origin/okld 建立关联。
请注意,这些命令假定你的远程仓库名为 origin。如果你使用了其他远程仓库名,需要相应地替换。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。