git 常用命令(二)

145 阅读2分钟

这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战

撤销修改

使用 git checkout -- file 命令可以丢弃工作区的修改,恢复到上一个版本的状态。-- 是必须要写的,如果没有则变成了切换分支的命令了。

删除文件

通常直接在文件管理器把文件删除了最直接,也可以使用 git 命令 git rm 删掉,然后 git commit

git rm reamde.txt
git commit -m 'remove reamde.txt'

创建和合并分支

  • 创建 dev 分支,切换到 dev 分支:
git checkout -b dev

// 相当于
git branch dev
git checkout dev

使用 git branch 命令查看当前分支会列出所有分支,当前分支前会有一个 * 号。

使用 git merge 命令可以合并指定分支到当前分支。

git merge dev

合并完成后,可以删除 dev 分支:

git branch -d dev

删除后,只剩下 master 分支。

切换分支使用 git checkout <branch>,但是撤销修改的命令跟切换分支的命令几乎一样 git checkout -- <branch>,所以 git 提供了新的 git 命令 switch 切换分支。

创建并且切换分支:

git switch -c dev

直接切换分支:

git switch master

解决冲突

git 用 <<<<<<<=======>>>>>>>来标记不同分支的内容。

当无法自动合并分支时,先解决冲突,再提交。

git log --graph 可以查看分支合并图。

分支管理策略

合并分支时,Git 可能会用 Fast forward 模式,这种模式删除分支后会丢掉分支信息。

强制禁用 Fast forward 模式,Git 会在 merge 时生成一个新的 commit。

--no-ff 表示强制禁用 Fast forward 模式:

// 合并 dev 分支,-m 参数表示 commit
git merge --no-ff -m 'merge with no-ff' dev

查看远程仓库的信息

git remote
git remote -v  // 查看更详细的信息

推送分支

推送分支就是把该分支上的所有本地提交推送到远程仓库。

git push origin master  // 推送到 master 分支
git push origin dev  // 推送到 dev 分支

抓取分支

获取整个仓库代码(克隆),使用 git clone <name>

从远程仓库拉取最新的代码使用 git pull 命令。

git clone 仓库名
git pull