git 是一个分布式版本控制系统,它允许开发者跟踪项目中文件的变更历史。以下是 git 的一些基本命令行操作:
- 初始化仓库
git init
这条命令会在当前目录下初始化一个新的 Git 仓库,并创建一个名为 .git 的子目录,用于存储版本控制的所有信息。
- 克隆仓库
git clone <repository-url>
这条命令会克隆一个远程仓库到本地。 是远程仓库的 URL。
- 查看仓库状态
git status
这条命令会显示当前工作目录和暂存区的状态,包括哪些文件已经被修改、哪些文件还未被跟踪等。
- 添加文件到暂存区
git add <file>
或者添加所有修改过的文件到暂存区:
代码语言:javascript复制git add .
这条命令会将指定文件或所有修改过的文件添加到暂存区,准备提交。
- 提交更改
git commit -m "Commit message"
这条命令会将暂存区中的更改提交到本地仓库,并附带一条提交信息。
- 查看提交历史
git log
这条命令会列出仓库的提交历史,包括每次提交的哈希值、提交者、提交日期和提交信息。
- 查看文件差异
git diff
这条命令会显示工作目录中尚未暂存的更改。如果要查看暂存区与上一次提交之间的差异,可以使用:
代码语言:javascript复制git diff --cached
或者:
代码语言:javascript复制git diff --staged
- 回退到之前的提交
git reset <commit-hash>
这条命令会将当前分支的 HEAD 指针指向指定的提交,但不会改变工作目录中的文件。如果要同时改变工作目录中的文件,可以使用 --hard 选项:
代码语言:javascript复制git reset --hard <commit-hash>
- 撤销更改 撤销工作目录中文件的更改:
git checkout -- <file>
撤销暂存区中的更改(即取消 git add 的效果):
代码语言:javascript复制git reset HEAD <file>
- 分支操作 列出所有分支:
git branch
创建新分支:
代码语言:javascript复制git branch <branch-name>
切换分支:
代码语言:javascript复制git checkout <branch-name>
或者创建并切换分支:
代码语言:javascript复制git checkout -b <branch-name>
合并分支:
代码语言:javascript复制git merge <branch-to-merge>
删除分支:
代码语言:javascript复制git branch -d <branch-name>
强制删除分支:
代码语言:javascript复制git branch -D <branch-name>
- 远程仓库操作 列出所有远程仓库:
git remote -v
添加远程仓库:
代码语言:javascript复制git remote add <remote-name> <repository-url>
从远程仓库拉取更新:
代码语言:javascript复制git pull <remote-name> <branch-name>
推送本地分支到远程仓库:
代码语言:javascript复制git push <remote-name> <branch-name>
删除远程分支:
代码语言:javascript复制git push <remote-name> :<branch-name>
这些只是 git 的基础命令,git 还有很多高级功能和选项等待你去探索和学习。随着你对 git 的熟悉,你会发现它是一个非常强大且灵活的工具。