Git常见命令笔记

114 阅读3分钟

Git笔记

配置用户

git config --global user.name XXX // 配置用户名
git config --global user.email XXX // 配置用户邮箱
git config --global credential.helper store // 长期存储密码
git config --global --list // 查看已设配置

创建仓库

git init [仓库名称]// 初始化仓库
git clone [地址] // 克隆已有的仓库
ls // 查看文件夹
ls -a // 查看隐藏的文件夹

工作区、暂存区、存储区

工作区(Working Dirctory)就是.git所在的目录。暂存区(Staging Area/index)就是一个暂存的区域。最后的本地仓库才是我们需要最后存储起来的代码。

Git文件的四种状态

git status // 查看仓库状态
  1. 未跟踪 (Untrack)
  2. 未修改(Unmodified)
  3. 已修改 (Modified)
  4. 已暂存 (Staged)

文件操作

git add [文件名] // 添加到暂存区 .表示当前目录下全部的文件
git rm --cached [文件名] // 从暂存区取出
git commit -m 提交信息 // 需要先添加到暂存区才可以提交

查看提交日志

git log

回退版本

git reset // 回退,有三种参数, 后面跟版本号
git reset --soft // 回退到某个版本,不丢弃工作区和暂存区的所有内容
git reset --hard // 丢弃工作区和暂存区的所有内容
git reset --mixed // 丢弃暂存区,不丢弃工作区

比较版本差异

git diff // 查看工作区、暂存区和仓库的差异
git diff HEAD~ HEAD // 比较当前版本和上一个版本的差异

删除文件

git rm [文件名] // 将文件从工作区和暂存区同时删除
git rm --cached [文件名] // 将文件从暂存区删除,但仍保留在工作区
git rm -r* // 递归删除某个目录下所有子目录和文件,删除完了也要提交

忽略文件

.gitignore文件中可以写上需要忽略的内容。

touch .gitignore

推送本地仓库的修改到远程仓库

将本地仓库和远程仓库关联起来

本地已有的仓库

git init
git add README.md
git commit -m 'first commit'
git branch -M main
git remote add origin git@github.comXXXX
git push -u origin main // 将本地的main分支与远程仓库的main分支关联起来进行推送

添加到已有的仓库在

git remote add origin git@hub.comXXX
git branch -M main
git push -u origin main
git clone repo-address // 克隆远程仓库
git push <remote> <branch> // 推动本地文件到远程仓库
git pull <remote> // 拉取远程仓库的更新

创建新分支

git branch 分支名
git checkout 分支名 // 切换分支
git switch 分支名 // 切换分支
git merge 分支名 // 将分支合并到当前分支
git branch -d 分支名 // 删除分支,这个分支需要被合并后才能删除
git branch -D 分支名 // 强制删除分支

解决合并冲突

解决方案手动修改冲突文件,合并冲突内容。

添加暂存区

提交修改

终止合并

git merge --abort

rebase 重新根节点

假如有两个分支,main和dev。当前位于main分支上。执行merge,将dev嫁接到main分支上。

假如执行rebase,会将main分支嫁接到dev分支上。

git rebase dev