Git分布式版本控制工具详解
本文主要讲解关于Git分布式版本控制工具详解相关内容,让我们来一起学习下吧!
- Git 是一个分布式版本控制系统,用于跟踪文件的变化并协调多人在相同项目上的工作
- GitHub 是一个代码托管平台
本地操作
一次 commit 一个版本
git add
: 添加文件到缓存区git add .
: 提交当前目录下所有文件git add [dir]
: 提交dir目录下的所有git add [file1] [file2]
: 提交多个文件
git commit
: 提交暂存区到本地仓库git commit -m '解释'
git commit -am ''
:-a
参数设置修改文件后不需要执行git add
命令,直接来提交【相当于合并了 git add 和 git commit】
git diff
: 比较文件的不同,即暂存区和工作区的差异git diff <file>
: 比较file在工作区和暂存区的区别git diff HEAD
: 对比 工作区+缓存区 和 本地仓库(上一次commit的版本)git diff --cached/git diff --staged
: 比较暂存区与本地仓库(上一次commit的版本)git diff <commit_hash> <commit_hash>
: 比较两个提交版本的差异,版本ID可以用git log
命令查看git diff <branch_name> <branch_name>
: 比较两个分支之间的差异
git reset [--soft | --mixed | --hard] [HEAD]
: 回退版本git rest --soft [版本号|HEAD]
: 单纯的回退版本git rest --hard
: 重置暂存区和工作区git rest --mixed
: 【默认】用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变
git rm
: 将文件从暂存区和工作区中删除git rm <file>
: 从工作区和暂存区删除git rm --cached <file>
: 只从暂存区中删除,
git mv
: 移动或重命名工作区文件git status
: 查看仓库当前的状态,显示有变更的文件git status -s
: 简单版本
git log
: 查看历史提交记录,可以查到版本IDgit log --oneline
: 查看历史记录的简洁的版本
git ls-files
: 查看暂存区文件alias xxx = 'xxxxx'
: 重命名一个命令- 例如:
alias graph='git log --graph --oneline --decorate --all'
- 例如:
.gitignore 文件
.gitignore 文件中添加需要忽略的文件,但是如果某个文件已经添加到版本库中的文件,再在.gitignore中添加的话依然会监听它的改变
匹配规则
从上往下匹配
远程仓库
- 本地关联远程
- 拉取远程仓库 :
git clone git://github.com/schacon/grit.git
命令
git remote -v
git pull
git push
分支管理
git branch [branch_name]
: 新建分支git [checkout|swicth] [branch_name]
: 切换分支,推荐使用 switchgit branch [-d|-D] [branch_name]
git branch -d [branch_name]
: 删除已经合并的分支git branch -D [branch_name]
: 删除未合并的分支
git merge [branch_name]
: 合并分支- 如果当前分支是 main, branch_name 是dev,就表示将 dev 的内容合并到 main 上
- 合并冲突,在执行合并命令之后,如果有合并冲突会进入一个合并中的状态,我们可以选择执行
git merge --abort
来中止合并,或者进入 冲突文件 修改之后再执行一遍git add [file]
,git commit -m '冲突解决啥啥啥的'
git rebase [branch_name]
: 合并分支- 如果当前分支是 main, branch_name 是dev,就表示将 main 从分叉开始的节点处以上的版本都嫁接到 dev 的当前版本以上
- 创建并切换分支:
git switch -c <新分支名>
git checkout -b <新分支名>
git checkout
git checkout
命令在 Git 中有多种用途,主要用于切换分支、创建分支、还原文件等操作。以下是一些常见的用法:
- 切换分支:
git checkout <分支名>
用于切换到指定的分支。在新版本的 Git 中,建议使用
git switch
命令代替,因为它提供更直观的分支切换体验。git switch <分支名>
- 创建新分支并切换到新分支:
git checkout -b <新分支名>
这个命令相当于执行了以下两个命令:
git branch <新分支名> git checkout <新分支名>
或者使用
git switch
:git switch -c <新分支名>
- 切换到前一个分支:
git checkout -
这个命令会在当前分支和前一个分支之间切换。
- 撤销工作区的修改(还原文件):
git checkout -- <文件名>
这个命令用于撤销对工作区文件的修改,将文件还原到最近一次提交的状态。
- 切换到某个提交或标签:
git checkout <提交哈希或标签名>
这会将工作目录切换到指定的提交或标签,处于”分离头指针”状态,不会创建新分支。
- 创建并切换到新分支,基于某个提交:
git checkout -b <新分支名> <基于的提交哈希>
这个命令会创建一个新分支,并将其指向指定的提交。
- 切换到远程分支:
git checkout -t origin/<远程分支名>
这个命令用于切换到远程分支,并创建与之关联的本地分支。
请注意,git checkout
的用法在不同的 Git 版本中可能有所不同,新版本中更推荐使用 git switch
和 git restore
来替代一些 git checkout
的用法,因为它们提供了更直观和安全的操作。
以上就是关于Git分布式版本控制工具详解相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.frpkj.com),学习愉快哦!