Git 系列二:实战篇

203 阅读5分钟

"Code tailor",为前端开发者提供技术相关资讯以及系列基础文章,微信关注“小和山的菜鸟们”公众号,及时获取最新文章。

在这边,我们采用的是 MacBook 版的 git 实战方式,我在这边使用的是 iTerm2,可以展示分支情况,以及状态,iTerm2 的安装方式可以参考这篇文章 iTerm2+zsh 安装和样式调整,让你的 终端 更加实用炫酷

首先安装 Git

brew install git

git init 使用

我们在桌面新建一个名为 gitTest 的文件夹

然后在终端命令中,cd 访问到相应的文件夹,然后执行下述命令新建一个 git 仓库

git init
gitInit

这样就可以在文件夹下看到一个 .git 文件了

.gitFile

如果你看不到 .git 文件也不用慌张,只是隐藏文件没有打开

# 打开所有隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true

# 还需要关闭所有Finder之后 重新打开有效
killall Finder

这两句执行,并没有什么特别的返回结果,但是你重新打开文件夹之后,就可以看到 .git 文件了

showAllFiles

git clone 的使用

执行下面的命令来克隆一个远端仓库

git clone https://github.com/Huzq-Strive/git-application-docs.git

这是克隆成功时的返回截图

cloneSuccess

clone 之后,文件中多了远端仓库的内容

fileNow

git add 的使用

首先 cd 访问到你 clone 的文件中

cdToCloneFile

添加自己的文件夹和文件进去

addFile

然后通过 add 命令添加文件到 暂存区

# cd 进文件
cd git-application-docs

# 添加到 暂存区
git add myFirstGit/firstTryGit.md

# 如果文件被忽略 则可以强制add
git add -f myFirstGit/firstTryGit.md

这边多了一个 add 状态

addStatus

git commit 的使用

git commit 命令是用来在本地提交内容的,可以记录你本次修改内容。

# 第一次提交 commit自己的文件
git commit -m "feat: first add file"
# 第二次提交 文章做了修改
git commit -m "fix:second try"
firstCommit

现在我们去修改文件中的内容,再进行第二次提交

secondCommit

git push 的使用

commit 之后就是 push 了,也就是提交我们本地的改动到远端仓库

# 将文件传到远端仓库
git push

push 成功的返回结果如下:

pushResult

如果之前的代码不是通过 clone 下来的,那你就需要先链接仓库,才可以 push

# 链接仓库
git remote add origin https://github.com/rookies-of-XHS/git-application-docs.git

分支管理

  • 创建并检出一个名为 branch_try 的分支
git checkout -b branch_try
checkoutNewBranch
  • 切回主分支
# 切回main分支
git checkout main
backMainBranch
  • 删除分支
# 删除新建分支
git branch -d branch_try
deleteBranch
  • push 本地创建的分支到远端仓库。
git push https://github.com/Huzq-Strive/git-application-docs.git branch_try
pushBranch

这时候,我们来看看远端的仓库就多出了一个分支

checkBranch

pull 的使用

在 开发中 我们经常会 多人进行操作 这时候就会有别人的 push 你需要 pull 下来

# 拉下修改内容
git pull

这边为了演示 pull 操作我们重新建了一个本地仓库,用来展示两个人同时操作,我们就跳过建仓库等步骤,就直接修改内容,然后 push 到仓库了。这以后你就可以再原先的文件下使用 pull 命令了。

图片

切换到原来的文件夹目录下使用 pull

pullResult

然后自己的分支修改完成没有问题之后,也需要合并到 main 分支,使用以下命令

# 在 main 分支下 执行
git merge branch_try

这是新分支上加的内容

addNewThingForBranchtry result

这是合并之后的结果,多了个 push

图片

然后我们再 push一下到远端

图片

这时候你就可以发现在远端的 main 分支也有了 branch_try 分支的内容

图片

冲突演示与解决方式

并不是每一次合并都会没有问题,有时候会产生 冲突( conflicts ),这时候你就需要去解决冲突,需要修改文件手动合并这些冲突,改完之后需要执行如下命令标记为冲突已解决。

现在我们来演示一个冲突

这是第二个文件下做的修改。

图片

然后 add & commit & push 一下。

git add myFirstGit/firstTryGit.md
git commit -m "resove conflicts"
git push # 传到远端

这是第一个文件下的修改。

图片

两个都在同一个文件内做了修改,执行 add & ommmit 两个命令。

git add myFirstGit/firstTryGit.md
git commit -m "begin" # 这边要先commit之后才可以pull

这边执行 pull 一下。

git pull # 拉去,产生冲突

你就会发现这里是有冲突的,fix conflicts and then commit the result ,需要你解决冲突然后提交一下。

conflictsShow

这里你就发现了这么一些奇怪的东西,将它们都删除了之后,保存文件。

图片

在使用命令行, add & commit 一下,就可以 push 到远端了。

git add myFirstGit/firstTryGit.md
git commit -m "resolve conflicts"
git push # 到这一步就完成了
在这里插入图片描述

提交记录的查看

  • 使用 git log 命令来查询 历史的提交记录,可以看到以提交的 ID
git log
gitLog
  • 使用标签,创建一个名为 1.0.1 的标签
git tag 1.0.1 2eda8fcac6
gitTaf
  • 只看某个人的提交记录
git log --author=hzq # 这里查看的作者自己的提交记录
作者的提交记录
  • 压缩提交成一行观看
git log --pretty=oneline
onelineLook
  • 查看哪些文件有改变
git log --name-status
logNameStatus

以上就是我们今天 git 实战的全部内容了,谢谢各位对作者的支持!你们的关注和点赞,将会是我们前进的最强动力!谢谢大家。