学习Git指令是掌握版本控制的关键步骤,非常重要对于任何涉及编码的项目。以下是Git指令的详细介绍,包括常用指令和它们的用途:
Git基础指令
-
初始化仓库(Initialize Repository)
git init
:在当前目录创建新的Git仓库。
-
克隆仓库(Clone Repository)
git clone <url>
:从远程仓库克隆一份代码到本地。
-
添加文件(Add Files)
git add <file>
:添加特定文件到暂存区。git add .
或git add -A
:添加所有变更(新增、修改、删除的文件)到暂存区。
-
提交更改(Commit Changes)
git commit -m "<message>"
:将暂存区的更改提交到仓库,并附上提交信息。
-
查看状态(Check Status)
git status
:查看当前仓库的状态,包括更改的、未跟踪的、已暂存的文件。
-
查看日志(Check Logs)
git log
:查看提交历史。git log --oneline
:简洁版的提交历史。
-
拉取更改(Pull Changes)
git pull
:从远程仓库拉取最新更改并合并到当前分支。
-
推送更改(Push Changes)
git push
:将本地的更改推送到远程仓库。
- 查看最近提交的分支是那个
1. git branch -r --sort=-committerdate
分支管理(Branch Management)
-
查看分支(List Branches)
git branch
:查看本地分支。git branch -a
:查看所有分支(本地和远程)。
-
创建分支(Create Branch)
git branch <branch-name>
:创建新分支。
-
切换分支(Switch Branches)
git checkout <branch-name>
:切换到指定分支。git checkout -b <branch-name>
:创建并切换到新分支。
-
合并分支(Merge Branches)
git merge <branch-name>
:将指定分支合并到当前分支。
-
删除分支(Delete Branch)
git branch -d <branch-name>
:删除分支。
其他常用指令
-
撤销更改(Undo Changes)
git checkout -- <file>
:撤销对特定文件的更改。git reset --hard
:撤销所有未提交的更改。
-
标签管理(Tagging)
git tag
:创建新标签,用于标记特定的提交(如版本发布)。
-
解决冲突(Resolving Conflicts)
- 冲突通常发生在合并(
git merge
)操作中。解决冲突需要手动编辑冲突文件,然后再次提交。
- 冲突通常发生在合并(
-
查看更改(View Changes)
git diff
:查看未暂存的更改。git diff --staged
:查看已暂存的更改。
- 合并没有共同历史的分支:
git merge master --allow-unrelated-histories
合并:
在 Git 中,如果你想要合并其他分支的某个特定文件到当前分支,你可以使用 git checkout
命令(在较新版本的 Git 中,推荐使用 git restore
命令)。这种方法允许你从其他分支选取单个文件或一组文件,并将它们带入当前分支。
使用 git checkout
或 git restore
命令:
-
使用旧版 Git (版本 2.23 之前),使用
git checkout
命令:git checkout <来源分支> -- <文件路径>
例如,如果你想从
feature-branch
分支获取example.txt
文件,你可以执行:git checkout feature-branch -- example.txt
-
使用新版 Git,使用
git restore
命令(推荐):git restore --source <来源分支> -- <文件路径>
例如:
git restore --source feature-branch -- example.txt
2. 强制推送到远程仓库
使用git push
命令并加上--force
标志来强制推送到远程仓库:
git push origin your-branch-name --force
或者,如果你想要更谨慎一些,可以使用--force-with-lease
选项,它在远程仓库有新的提交时会阻止强制推送:
git push origin your-branch-name --force-with-lease