Git 是一种分布式版本控制系统,广泛用于管理代码和文件的版本控制。它允许多个开发者在同一项目中并行工作,同时跟踪每个文件的修改历史,方便合并更改并解决冲突。
Git 基础操作
1. 初始化 Git 仓库
在一个文件夹中初始化一个新的 Git 仓库:
1 | git init |
这将创建一个 .git
文件夹,Git 用它来跟踪版本和历史。
2. 克隆现有仓库
克隆一个现有的 Git 仓库到本地:
1 | git clone <repository_url> |
例如,克隆 GitHub 上的一个仓库:
1 | git clone https://github.com/username/repository.git |
3. 检查 Git 状态
查看当前工作目录和暂存区的状态:
1 | git status |
它会显示哪些文件已更改、哪些文件未被跟踪、哪些文件已暂存等信息。
4. 添加文件到暂存区
将文件添加到暂存区(准备提交):
1 | git add <filename> |
如果要添加所有更改的文件,可以使用:
1 | git add . |
5. 提交更改
提交暂存区的更改到本地仓库:
1 | git commit -m "Commit message" |
-m
后面是提交信息,简要描述这次提交的内容。
6. 查看提交历史
查看提交的历史记录:
1 | git log |
这将列出所有提交,包括提交ID、作者、提交时间和提交信息。
7. 创建和切换分支
创建并切换到一个新分支:
1 | git checkout -b <branch_name> |
切换到已有分支:
1 | git checkout <branch_name> |
8. 合并分支
将另一个分支的更改合并到当前分支:
1 | git merge <branch_name> |
如果存在冲突,Git 会提示你手动解决冲突。
9. 推送更改到远程仓库
将本地提交推送到远程仓库(如 GitHub):
1 | git push origin <branch_name> |
如果是第一次推送一个新分支,可以使用:
1 | git push -u origin <branch_name> |
10. 拉取远程仓库的更改
获取远程仓库的更新并合并到本地分支:
1 | git pull origin <branch_name> |
这相当于 git fetch
和 git merge
的组合。
11. 删除分支
删除本地分支:
1 | git branch -d <branch_name> |
删除远程分支:
1 | git push origin --delete <branch_name> |
12. 查看差异
查看文件修改的差异:
1 | git diff |
查看已暂存的更改与最后提交的差异:
1 | git diff --staged |
13. 撤销更改
如果想撤销对某个文件的修改,可以使用:
1 | git checkout -- <filename> |
如果想撤销暂存区的更改(还没有提交的更改):
1 | git reset <filename> |
要完全撤销最后一次提交的更改(保留文件,但撤销提交):
1 | git reset --soft HEAD~1 |
14. 解决冲突
如果在合并过程中出现冲突,Git 会标记出冲突部分。你需要手动解决冲突,然后使用以下命令标记冲突已解决:
1 | git add <conflicted_file> |
15. 标签
标签用于标记重要的提交,例如版本发布:
创建一个标签:
1 | git tag <tag_name> |
查看所有标签:
1 | git tag |
推送标签到远程仓库:
1 | git push origin <tag_name> |
Git 常用配置
1. 配置用户名和邮箱 设置 Git 用户名和邮箱是必要的,它们将用于提交记录
1 | git config --global user.name "Your Name" |
2. 查看配置 查看 Git 配置信息
1 | git config --list |
3. 全局忽略文件 创建一个 .gitignore
文件,列出不需要版本控制的文件或文件夹。例
1 | *.log |
其他常用命令
查看本地仓库信息:
1
git remote -v
添加远程仓库:
1
git remote add origin <repository_url>
查看分支信息:
1
git branch
查看文件历史:
1
git blame <filename>
git rm
的常用用法
1. 删除一个文件 删除一个文件,并将删除操作加入暂存区,准备提交
1 | git rm <file_name> |
例如,删除文件 example.txt
:
1 | git rm example.txt |
删除后,Git 会把这个删除操作添加到暂存区,在下一次提交时会从 Git 仓库中移除该文件。
2. 删除一个文件并保留本地文件 如果你希望删除 Git 仓库中的文件,但保留工作目录中的文件(即本地文件不被删除),可以使用 --cached
选项
1 | git rm --cached <file_name> |
例如,删除文件 example.txt
但保留本地副本:
1 | git rm --cached example.txt |
这样做会将文件从 Git 仓库中删除,但文件仍然会保留在你的工作目录中。此操作常用于从 Git 仓库中移除敏感文件(如 .env
文件),但不希望本地文件被删除。
3. 删除多个文件 你可以使用通配符或多个文件路径来一次性删除多个文件
1 | git rm <file1> <file2> <file3> |
或者使用通配符删除所有 .log
文件:
1 | git rm *.log |
4. 删除目录 如果你想删除整个目录及其内容,可以使用 -r
选项
1 | git rm -r <directory_name> |
这将递归删除目录及其所有文件和子目录。
删除文件后的操作
在删除文件后,你需要提交更改以将删除操作记录到 Git 仓库:
1 | git commit -m "Removed unnecessary files" |
例子
1. 删除一个文件并提交: 假设你要删除文件 test.txt
1 | git rm test.txt |
2. 仅从 Git 仓库中删除文件,保留本地文件: 假设你想从 Git 中删除文件 secrets.txt
,但保留本地文件
1 | git rm --cached secrets.txt |
本文链接: https://talent-tudou.github.io/2024/11/10/git的基本命令/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!