共计 4888 个字符,预计需要花费 13 分钟才能阅读完成。
“Code tailor”,为前端开发者提供技术相干资讯以及系列根底文章,微信关注“小和山的菜鸟们”公众号,及时获取最新文章。
在这边,咱们采纳的是 MacBook 版的 git
实战形式,我在这边应用的是 iTerm2,能够展现分支状况,以及状态,iTerm2 的装置形式能够参考这篇文章 iTerm2+zsh 装置和款式调整,让你的 终端 更加实用炫酷
首先装置 Git
brew install git
git init 应用
咱们在桌面新建一个名为 gitTest
的文件夹
而后在终端命令中,cd
拜访到相应的文件夹,而后执行下述命令新建一个 git
仓库
git init
<img src=”https://img-blog.csdnimg.cn/20210420223021576.png” alt=”gitInit” />
这样就能够在文件夹下看到一个 .git
文件了
<img src=”https://img-blog.csdnimg.cn/20210420224103451.png” alt=”.gitFile” />
如果你看不到 .git
文件也不必慌乱,只是暗藏文件没有关上
# 关上所有暗藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
# 还须要敞开所有 Finder 之后 从新关上无效
killall Finder
这两句执行,并没有什么特地的返回后果,然而你从新关上文件夹之后,就能够看到 .git
文件了
<img src=”https://img-blog.csdnimg.cn/20210420224356358.png” alt=”showAllFiles” />
git clone 的应用
执行上面的命令来克隆一个远端仓库
git clone https://github.com/Huzq-Strive/git-application-docs.git
这是克隆胜利时的返回截图
<img src=”https://img-blog.csdnimg.cn/20210421103132688.png” alt=”cloneSuccess” />
clone
之后,文件中多了远端仓库的内容
<img src=”https://img-blog.csdnimg.cn/20210420231023160.png” alt=”fileNow” />
git add 的应用
首先 cd
拜访到你 clone
的文件中
<img src=”https://img-blog.csdnimg.cn/20210420233804297.png” alt=”cdToCloneFile” />
增加本人的文件夹和文件进去
<img src=”https://img-blog.csdnimg.cn/20210421000539531.png” alt=”addFile” />
而后通过 add
命令增加文件到 暂存区
# cd 进文件
cd git-application-docs
# 增加到 暂存区
git add myFirstGit/firstTryGit.md
# 如果文件被疏忽 则能够强制 add
git add -f myFirstGit/firstTryGit.md
这边多了一个 add
状态
<img src=”https://img-blog.csdnimg.cn/20210421103750295.png” alt=”addStatus” />
git commit 的应用
git commit
命令是用来在本地提交内容的,能够记录你本次批改内容。
# 第一次提交 commit 本人的文件
git commit -m "feat: first add file"
# 第二次提交 文章做了批改
git commit -m "fix:second try"
<img src=”https://img-blog.csdnimg.cn/20210421103906118.png” alt=”firstCommit” />
当初咱们去批改文件中的内容,再进行第二次提交
<img src=”https://img-blog.csdnimg.cn/20210421104123890.png” alt=”secondCommit” />
git push 的应用
commit
之后就是 push
了,也就是提交咱们本地的改变到远端仓库
# 将文件传到远端仓库
git push
push
胜利的返回后果如下:
<img src=”https://img-blog.csdnimg.cn/20210421104321196.png” alt=”pushResult” />
如果之前的代码不是通过 clone
下来的,那你就须要先链接仓库,才能够 push
# 链接仓库
git remote add origin https://github.com/rookies-of-XHS/git-application-docs.git
分支治理
- 创立并检出一个名为
branch_try
的分支
git checkout -b branch_try
<img src=”https://img-blog.csdnimg.cn/2021042108485246.png” alt=”checkoutNewBranch” />
- 切回主分支
# 切回 main 分支
git checkout main
<img src=”https://img-blog.csdnimg.cn/20210421084946717.png” alt=”backMainBranch” />
- 删除分支
# 删除新建分支
git branch -d branch_try
<img src=”https://img-blog.csdnimg.cn/20210421085027829.png” alt=”deleteBranch” />
push
本地创立的分支到远端仓库。
git push https://github.com/Huzq-Strive/git-application-docs.git branch_try
<img src=”https://img-blog.csdnimg.cn/20210421105437500.png” alt=”pushBranch” />
这时候,咱们来看看远端的仓库就多出了一个分支
<img src=”https://img-blog.csdnimg.cn/2021042110560250.png” alt=”checkBranch” />
pull 的应用
在 开发中 咱们常常会 多人进行操作 这时候就会有他人的 push
你须要 pull
下来
# 拉下批改内容
git pull
这边为了演示 pull
操作咱们从新建了一个本地仓库,用来展现两个人同时操作,咱们就跳过建仓库等步骤,就间接批改内容,而后 push
到仓库了。这当前你就能够再原先的文件下应用 pull
命令了。
<img src=”https://img-blog.csdnimg.cn/20210421120624744.png” alt=” 图片 ” />
切换到原来的文件夹目录下应用 pull
<img src=”https://img-blog.csdnimg.cn/20210421110351479.png” alt=”pullResult” />
而后本人的分支批改实现没有问题之后,也须要合并到 main
分支,应用以下命令
# 在 main 分支下 执行
git merge branch_try
这是新分支上加的内容
<img src=”https://img-blog.csdnimg.cn/20210421115013581.png” alt=”addNewThingForBranchtry” />
<img src=”https://img-blog.csdnimg.cn/20210421115129987.png” alt=”result” />
这是合并之后的后果,多了个 push
<img src=”https://img-blog.csdnimg.cn/202104211152226.png” alt=” 图片 ” />
而后咱们再 push
一下到远端
<img src=”https://img-blog.csdnimg.cn/20210421115258671.png” alt=” 图片 ” />
这时候你就能够发现在远端的 main
分支也有了 branch_try
分支的内容
<img src=”https://img-blog.csdnimg.cn/2021042111532373.png” alt=” 图片 ” />
抵触演示与解决形式
并不是每一次合并都会没有问题,有时候会产生 抵触(conflicts
),这时候你就须要去解决抵触,须要批改文件手动合并这些抵触,改完之后须要执行如下命令标记为抵触已解决。
当初咱们来演示一个抵触
这是第二个文件下做的批改。
<img src=”https://img-blog.csdnimg.cn/20210421115358753.png” alt=” 图片 ” />
而后 add & commit & push
一下。
git add myFirstGit/firstTryGit.md
git commit -m "resove conflicts"
git push # 传到远端
这是第一个文件下的批改。
<img src=”https://img-blog.csdnimg.cn/20210421115437383.png” alt=” 图片 ” />
两个都在同一个文件内做了批改,执行 add & ommmit
两个命令。
git add myFirstGit/firstTryGit.md
git commit -m "begin" # 这边要先 commit 之后才能够 pull
这边执行 pull 一下。
git pull # 拉去,产生抵触
你就会发现这里是有抵触的,fix conflicts and then commit the result
,须要你解决抵触而后提交一下。
<img src=”https://img-blog.csdnimg.cn/20210421113627882.png” alt=”conflictsShow” />
这里你就发现了这么一些奇怪的货色,将它们都删除了之后,保留文件。
<img src=”https://img-blog.csdnimg.cn/20210421115529212.png” alt=” 图片 ” />
在应用命令行,add & commit
一下,就能够 push
到远端了。
git add myFirstGit/firstTryGit.md
git commit -m "resolve conflicts"
git push # 到这一步就实现了
<img src=”https://img-blog.csdnimg.cn/20210421115558897.png” alt=” 在这里插入图片形容 ” />
提交记录的查看
- 应用
git log
命令来查问 历史的提交记录,能够看到以提交的ID
git log
<img src=”https://img-blog.csdnimg.cn/20210421111850836.png” alt=”gitLog” />
- 应用标签,创立一个名为
1.0.1
的标签
git tag 1.0.1 2eda8fcac6
<img src=”https://img-blog.csdnimg.cn/20210421112029199.png” alt=”gitTaf” />
- 只看某个人的提交记录
git log --author=hzq # 这里查看的作者本人的提交记录
<img src=”https://img-blog.csdnimg.cn/20210421112101935.png” alt=” 作者的提交记录 ” />
- 压缩提交成一行观看
git log --pretty=oneline
<img src=”https://img-blog.csdnimg.cn/2021042111214563.png” alt=”onelineLook” />
- 查看哪些文件有扭转
git log --name-status
<img src=”https://img-blog.csdnimg.cn/20210421112236790.png” alt=”logNameStatus” />
以上就是咱们明天 git
实战的全部内容了