Git常用命令
# Git 创建仓库
# 初始化仓库
git init
1
如果当前目录下有几个文件想要纳入版本控制
git add ./
git commit -m '初始化项目版本'
1
2
2
# 拷贝项目
git clone <repo> //repo Git 仓库
1
# Git基本操作
# 添加文件到暂存区
git add
1
# 查看仓库当前的状态(显示有变更的文件)
git status
1
# 比较文件的不同(暂存区和工作区的差异)
git diff
1
# 查看未提交的暂存
git diff --cache
1
# 查看哪些修改以及被暂存了还没提交
git diff --staged
1
# 提交暂存区到本地仓库
git commit
1
# -m 可以是一些备注信息
git commit -m [message]
1
# -a 参数设置修改文件后不需要执行 git add 命令,直接来提交
git commit -a
1
# 回退版本
git reset
1
# --soft 参数用于回退到某个版本
git reset --soft HEAD~3 # 回退上上上一个版本
git reset –hard bae128 # 回退到某个版本回退点之前的所有信息
git reset --hard origin/master # 将本地的状态回退到和远程的一样
1
2
3
2
3
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard HEAD
1
注意
谨慎使用 –hard 参数,它会删除回退点之前的所有信息
# 将文件从暂存区和工作区中删除
git rm 要删除的文件
1
# 查看历史提交记录
git log
1
# --oneline选项,查看提交的历史记录(查看历史记录的简洁的版本)
git log --oneline
1
# --graph 选项,查看历史中什么时候出现了分支、合并。以下为相同的命令
git log --reverse
1
# --reverse 参数来逆向显示所有日志
git log --reverse --oneline
1
# 查找指定用户(查找Linus 提交的部分)
git log --author=Linus --oneline -5
1
# 指定日期
git log --oneline --before={3.weeks.ago} --after={2010-04-18}
1
# 将工作目录中的文件进行重命名 再将修改添加到暂存区
git mv 原文件名 新文件名
1
# 远程仓库操作
git remote
1
# 删除远程仓库
git remote rm name
1
# 显示所有远程仓库
git remote -v
1
# 添加远程版本库
git remote add [shortname] [url] //shortname 为本地的版本库
git remote add origin git@github.com:tianqixin/runoob-git-test.git
1
2
2
# 从远程获取代码库
git fetch
1
# 下载远程代码并合并
git pull
1
# 上传远程代码并合并
git push
1
# 强制推送
git push -f origin master
1
注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制
:::dander
这行命令的意思就是强制用本地的代码去覆盖掉远程仓库的代码(请谨慎使用)
:::
# 分支管理
# 创建分支命令
git branch (branchname)
1
# 查看分支指向的最新的提交
git branch -v
1
# 在当前提交对象上创建新的分支
git branch name
1
# 切换分支命令
git checkout (branchname)
1
注意
在切换的时候 一定要保证当前分支是干净的!!
# 允许切换分支:
分支上所有的内容处于 已提交状态!
(避免)分支上的内容是初始化创建 处于未跟踪状态
(避免)分支上的内容是初始化创建 第一次处于已暂存状态
# 不允许切换分支:
分支上所有的内容处于 已修改状态 或 第二次以后的已暂存状态
在分支的工作做到一半时 如果有切换分支的需求,我们应该将现有的工作存储起来
checkout深入理解
# 共同点
都需要重置 HEAD 暂存区 工作目录
# 不同点
git checkout branchname git reset --hard commithash
1
2
3
分支名 | checkout | reset --hard |
---|---|---|
工作目录是安全 | 强制覆盖 | |
动HEAD时不会带着分支走而是切换分支 | 带着分支走 |
点击查看
checkout对工作目录是安全的 reset --hard是强制覆盖
checkout动HEAD时不会带着分支走而是切换分支
reset --hard是带着分支走
# 合并分支命令
git merge branchname
1
# 查看合并到当前分支的分支列表(一旦出现在这个列表中 就应该删除)
git branch --merged
1
# 查看没有合并到当前分支的分支列表(一旦出现在这个列表中 就应该观察一下是否需要合并)
git branch --no-merged
1
# 列出支
git branch
1
# 删除分支
git branch -d (branchname)
1
# 强制删除分支
git branch -D branchname
1
# 升级
系统:macOS
采用:Homebrew
查看 Git 版本
git --version
1
升级 Git
brew install git
1
重新链接 git
brew link git --overwrite
1
关闭终端, 重新查看 Git 版本
git --version
1
查看Git安装路径
which git
1
上次更新: 2024/08/14, 04:14:33