Skip to main content

Git 实战

Git 实战#

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

首先安装 Git#

brew install git

git init 使用#

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

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

git init

20210420223021576.png

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

20210420224103451.png

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

# 打开所有隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
# 还需要关闭所有Finder之后 重新打开有效
killall Finder

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

20210420224356358.png

git clone 的使用#

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

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

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

20210421103132688.png

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

20210420231023160.png

git add 的使用#

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

20210420233804297.png

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

20210421000539531.png

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

# cd 进文件
cd git-application-docs
# 添加到 暂存区
git add myFirstGit/firstTryGit.md
# 如果文件被忽略 则可以强制add
git add -f myFirstGit/firstTryGit.md

这边多了一个 add 状态

20210421103750295.png

git commit 的使用#

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

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

20210421103906118.png

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

注意:在使用commit之前一定要进行add操作,这次如果有修改,也请add修改文件后进行commit

20210421104123890.png

git push 的使用#

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

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

push 成功的返回结果如下:

20210421104321196.png

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

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

分支管理#

  • 创建并检出一个名为 branch_try 的分支
git checkout -b branch_try

2021042108485246.png

  • 切回主分支
# 切回main分支
git checkout main

20210421084946717.png

  • 删除分支
# 删除新建分支
git branch -d branch_try

20210421085027829.png

  • push 本地创建的分支到远端仓库。
git push https://github.com/Huzq-Strive/git-application-docs.git branch_try

20210421105437500.png

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

2021042110560250.png

pull 的使用#

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

# 拉下修改内容
git pull

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

20210421120624744.png

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

20210421110351479.png

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

# 在 main 分支下 执行
git merge branch_try

这是新分支上加的内容

20210421115013581.png

20210421115129987.png

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

20210421115129987.png

然后我们再 push一下到远端

2021042111512998.png

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

20210421.png

冲突演示与解决方式#

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

现在我们来演示一个冲突

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

202104211.png

然后 add & commit & push 一下。

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

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

2021042113211.png

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

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

这边执行 pull 一下。

git pull # 拉去,产生冲突

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

202103211.png

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

202103211.png

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

git add myFirstGit/firstTryGit.md
git commit -m "resolve conflicts"
git push # 到这一步就完成了

202103211.png

提交记录的查看#

  • 使用 git log 命令来查询 历史的提交记录,可以看到以提交的 ID
git log

2003211.png

  • 使用标签,创建一个名为 1.0.1 的标签
git tag 1.0.1 2eda8fcac6

2003211.png

  • 只看某个人的提交记录
git log --author=hzq # 这里查看的作者自己的提交记录

23211.png

  • 压缩提交成一行观看
git log --pretty=oneline

211.png

  • 查看哪些文件有改变
git log --name-status

211323.png

以上就是我们今天 git 实战的全部内容了

版权许可

本书采用“保持署名—非商用”创意共享4.0许可证。只要保持原作者署名和非商用,您可以自由地阅读、分享、修改本书。详细的法律条文请参见创意共享网站

Last updated on