"Code tailor",为前端开发者提供技术相关资讯以及系列基础文章,微信关注“小和山的菜鸟们”公众号,及时获取最新文章。
在这边,我们采用的是 MacBook 版的 git
实战方式,我在这边使用的是 iTerm2,可以展示分支情况,以及状态,iTerm2 的安装方式可以参考这篇文章 iTerm2+zsh 安装和样式调整,让你的 终端 更加实用炫酷
首先安装 Git
brew install git
git init 使用
我们在桌面新建一个名为 gitTest
的文件夹
然后在终端命令中,cd
访问到相应的文件夹,然后执行下述命令新建一个 git
仓库
git init
这样就可以在文件夹下看到一个 .git
文件了
如果你看不到 .git
文件也不用慌张,只是隐藏文件没有打开
# 打开所有隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
# 还需要关闭所有Finder之后 重新打开有效
killall Finder
这两句执行,并没有什么特别的返回结果,但是你重新打开文件夹之后,就可以看到 .git
文件了
git clone 的使用
执行下面的命令来克隆一个远端仓库
git clone https://github.com/Huzq-Strive/git-application-docs.git
这是克隆成功时的返回截图
clone
之后,文件中多了远端仓库的内容
git add 的使用
首先 cd
访问到你 clone
的文件中
添加自己的文件夹和文件进去
然后通过 add
命令添加文件到 暂存区
# cd 进文件
cd git-application-docs
# 添加到 暂存区
git add myFirstGit/firstTryGit.md
# 如果文件被忽略 则可以强制add
git add -f myFirstGit/firstTryGit.md
这边多了一个 add
状态
git commit 的使用
git commit
命令是用来在本地提交内容的,可以记录你本次修改内容。
# 第一次提交 commit自己的文件
git commit -m "feat: first add file"
# 第二次提交 文章做了修改
git commit -m "fix:second try"
现在我们去修改文件中的内容,再进行第二次提交
注意:在使用commit
之前一定要进行add
操作,这次如果有修改,也请add
修改文件后进行commit
git push 的使用
commit
之后就是 push
了,也就是提交我们本地的改动到远端仓库
# 将文件传到远端仓库
git push
push
成功的返回结果如下:
如果之前的代码不是通过 clone
下来的,那你就需要先链接仓库,才可以 push
# 链接仓库
git remote add origin https://github.com/rookies-of-XHS/git-application-docs.git
分支管理
- 创建并检出一个名为
branch_try
的分支
git checkout -b branch_try
- 切回主分支
# 切回main分支
git checkout main
- 删除分支
# 删除新建分支
git branch -d branch_try
push
本地创建的分支到远端仓库。
git push https://github.com/Huzq-Strive/git-application-docs.git branch_try
这时候,我们来看看远端的仓库就多出了一个分支
pull 的使用
在 开发中 我们经常会 多人进行操作 这时候就会有别人的 push
你需要 pull
下来
# 拉下修改内容
git pull
这边为了演示 pull
操作我们重新建了一个本地仓库,用来展示两个人同时操作,我们就跳过建仓库等步骤,就直接修改内容,然后 push
到仓库了。这以后你就可以再原先的文件下使用 pull
命令了。
切换到原来的文件夹目录下使用 pull
然后自己的分支修改完成没有问题之后,也需要合并到 main
分支,使用以下命令
# 在 main 分支下 执行
git merge branch_try
这是新分支上加的内容
这是合并之后的结果,多了个 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
,需要你解决冲突然后提交一下。
这里你就发现了这么一些奇怪的东西,将它们都删除了之后,保存文件。
在使用命令行, add & commit
一下,就可以 push
到远端了。
git add myFirstGit/firstTryGit.md
git commit -m "resolve conflicts"
git push # 到这一步就完成了
提交记录的查看
- 使用
git log
命令来查询 历史的提交记录,可以看到以提交的ID
git log
- 使用标签,创建一个名为
1.0.1
的标签
git tag 1.0.1 2eda8fcac6
- 只看某个人的提交记录
git log --author=hzq # 这里查看的作者自己的提交记录
- 压缩提交成一行观看
git log --pretty=oneline
- 查看哪些文件有改变
git log --name-status
以上就是我们今天 git
实战的全部内容了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。