这是我参与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