Git常用命令
1 初始化仓库
git init
2.查看文件状态
git status
git status -s
3.跟踪文件
git add 文件名
4.提交到仓库
git commit -m '描述信息'
5.撤销对文件的修改
git checkout -- 文件名
6.一次添加多个到暂存区
git add .
7.取消暂存的文件
git reset HEAD 文件名
8.跳过暂存区
git commit -a -m '描述信息'
9.移除文件
# 从 Git仓库和工作区中同时移除 index.js 文件
git rm -f index.js
# 只从 Git 仓库中移除 index.css,但保留工作区中的 index.css 文件
git rm --cached index.css
10.查看提交历史
# 按时间先后顺序列出所有的提交历史,最近的提交在最上面
git log
# 只展示最新的两条提交历史,数字可以按需进行填写
git log -2
# 在一行上展示最近两条提交历史的信息
git log -2 --pretty=oneline
# 在一行上展示最近两条提交历史信息,并自定义输出的格式
# &h 提交的简写哈希值 %an 作者名字 %ar 作者修订日志 %s 提交说明
git log -2 --pretty=format:"%h | %an | %ar | %s"
11.回退指定的版本
# 在一行上展示所有的提交历史
git log --pretty=oneline
# 使用 git reset --hard 命令,根据指定的提交 ID 回退到指定版本
git reset --hard <CommitID>
# 在旧版本中使用 git reflog --pretty=oneline 命令,查看命令操作的历史
git reflog --pretty=oneline
# 再次根据最新的提交 ID,跳转到最新的版本
git reset --hard <CommitID>
12.克隆仓库
git clone url链接
13.查看分支列表
git branch
14.创建分支
git branch 分支名字
15.切换分支
git status #必须是nothing状态才能切换
git checkout 分支名字
16.快速创建并切换分支
# -b 表示创建一个新分支
# checkout 表示切换到刚才新建的分支上
git checkout -b 分支名字
注意:
"git checkout -b 分支名称" 是下面
两条命令的简写形式:
① git branch 分支名称
② git checkout 分支名称
17.合并分支
git merge 分支名字
注意
如果**在两个不同的分支中**,对**同一个文件**进行了**不同的修改**,Git 就没法干净的合并它们。 此时,我们需要打开
这些包含冲突的文件然后**手动解决冲突**。
# 假设:在把 reg 分支合并到 master 分支期间
git checkout master
git merge reg
# 打开包含冲突的文件,手动解决冲突之后,再执行如下命令
git add .
git commit -m "解决了分支合并冲突的问题"
18.删除分支
git branch -d 分支名字
19.解决冲突
# 假设:在把 reg 分支合并到 master 分支期间
git status
git checkout master
git merge reg
# 打开包含冲突的文件,手动解决冲突之后,再执行如下命令
git add .
git commit -m "解决了分支合并冲突的问题"
20.将本地分支推送到远程仓库
# -u 表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带 -u 参数
git push -u 远程仓库的别名 本地分支名称:远程分支名称
# 实际案例
git push -u origin payment:pay
# 如果希望远程分支的名称和本地分支名称保持一致,可以对命令进行简化
git push -u origin payment
21.查看远程仓库中所有的分支列表
git remote #查看远程仓库名称
git remote show 远程仓库名称 #查看所有分支列表
22.将远程分支下载到本地仓库
# 示例
git checkout pay
# 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
# 示例
git checkout -b payment origin/pay
23.拉取远程仓库代码
git pull 分支名字
24.删除远程分支
# 删除远程仓库中,制定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称
# 示例
git push origin --delete pay