为什么要学习Git
Git是一个广泛用于版本控制的工具,它能够帮助你跟踪文件的修改、协作开发以及管理项目的历史记录。
Git命令学习
git branch <branch_name>:这个命令用于创建一个新的分支,但不会切换到新创建的分支。它只是在当前分支的基础上创建一个同名的新分支,并且新分支的起点是当前分支的最新提交。你需要使用 git checkout \<branch_name>
来切换到新创建的分支。
git checkout -b <branch_name>:这个命令结合了创建分支和切换分支的操作。它会在当前分支的基础上创建一个新分支,并且立即切换到新分支。这个命令的效果相当于先运行 git branch \<branch_name>
,然后运行 git checkout \<branch_name>
。
git log:查看最近的提交历史,包括提交者、日期和提交信息。
git checkout -- file-to-restore : 恢复文件到最近一次提交的状态。
git tag -a v1.0 -m "Release version 1.0":在最新的提交上创建一个标签,并附上一条说明信息。
git checkout <commit_hash>:切换到指定的提交。
git branch:查看所有的本地分支列表。
git init:在一个新的目录中,初始化一个新的Git仓库。
git remote -v:查看当前仓库关联的远程仓库信息。
git pull origin <branch_name>:从远程仓库拉取(同步)特定分支的最新更改到本地。
git clone <repository_url> <local_directory>:将远程仓库克隆到指定的本地目录。
git stash:临时保存未完成的工作,以便可以切换到其他分支。
git diff --staged:查看当前暂存区中的文件变更。
git rm <file_name>:从Git中移除一个文件。
git checkout HEAD -- <file_name>:将工作目录中的某些文件恢复到上一次提交的状态。(丢弃暂存区的修改)
git commit --amend -m "New commit message":修改最近的提交的提交信息。
git show <commit_hash>:查看特定提交引入的文件变更。
git merge origin/<remote_branch_name>:将远程分支的更改合并到当前分支。
git rebase -i HEAD~<num_commits>:使用交互式重排命令,重新排列提交以改变提交历史的顺序。
git log <file_name>:查看特定文件的历史变更记录。
git commit -s:用于提交代码,并在提交消息中加入"Signed-off-by"信息,表示提交者已签署了开源项目的贡献者许可协议。
git format-patch -1:用于生成Git仓库中最新一次提交的补丁文件(patch)。
git comiit --amend --no-verify:用于修改最新的提交,同时跳过提交钩子(pre-commit钩子)。
git reset HEAD:用于将文件从暂存区中取消暂存,而不会更改工作目录中的文件。
git reset HEAD^:用于取消最新的提交并将更改放回到暂存区,但保留在工作目录中,以便重新编辑。
git checkout -- <file>:撤销特定文件的未暂存更改。