0


git进阶

文章目录

修改文件

我们再本地修改了README.md文件,我们是需要重新提交的,假如我们修改的文件过多,忘记修改了哪些文件怎么处理呢?

使用git status来查看Git目前的状态。

image-20240302125456103

可以看到没有内容需要提交,工作树干净。这个时候我们在本地仓库新建一个README.txt,并修改一下README.md,再使用git status看看会出现什么结果。

image-20240302125700429

可以看到git帮助我们检查到了两个问题,本地仓库中有README.txt没有提交,本地仓库中的README.md发生了修改。可以使用下面的指令查看README.md做了哪些修改。

$ gitdiff README.md

image-20240302125922519

红色的是修改之前的,绿色的是修改之后的。下一步进行提交即可。

gitadd README.md README.txt    #可以同时提交两个文件git commit -m"修改了README.md"git push -u ml main

这样我们对README.md修改进行了合并,对README.txt进行了上传。

那么我们不想要README.txt的话,如何删除这个文件呢,在本地仓库我们直接delete进行删除,然后如何git status进行查看。

image-20240302130617280

可以看到,git已经察觉到我们本地删除了README.txt,那么下一步就是把远程仓库的README.txt进行删除,输入下面指令。

$ gitrm README.txt

这个时候在本地发送出清楚README.txt的指令,但是还没有推送到远程仓库,使用git status查看。

image-20240302130805904

当你运行

git commit

命令提交这个变更时,Git 会将该删除操作作为一个提交保存下来,并从仓库中移除该文件。如果你想取消这个删除操作,可以运行

git restore --staged README.txt

命令将文件从暂存区中移除,也就是取消删除。我们使用下面说明并提交到远程仓库即可。

$ git commit -m"删除README.txt"
$ git push -u ml main

版本控制

使用版本控制我们可以清晰地回到原来修改文章的位置,比如,我们想恢复README.txt这个文件,我们需要进行下面的步骤。

查看提交历史:使用

git log

命令查看提交历史记录,获取要回滚的提交的哈希值。

$ git log

image-20240302141016712

我们找到类回滚位置的哈希值,下一步我们使用git revert命令回滚到指定的提交。

$ git revert f2e466339d8c23f02aa77e4fde987f16737de2f9

接着出现一个vim界面,我们可以看到第一行便是我们的撤销指令,直接退出即可,先按ESC,后输入":q!"退出即可。

使用git status查看当前git的状态,可以看到本地仓库领先远程仓库,使用下面指令推送到远程仓库。这样我们在远端仓库重新看到了README.txt。

$ git push -u ml main

image-20240302141716379

分支管理

新人菜菜来到公司,为了防止他对项目主分支造成不可估计的影响,我们给他创建了一个新的分支caicai。使用下面的代码创建分支。

$ git checkout -b caicai

使用这行代码我们在本地创建了一个caicai的分支,并且自动启动这个分支,可以看到我们的后缀是菜菜。使用git branch查看仓库中存在哪些分支。

$ git branch

使用下面的代码切换分支

$ git checkout main

image-20240302142631059

那么本地仓库的caicai分支要提交代码到远程仓库的caicai分支,要怎么做呢,如果caicai写了一篇文章叫做《菜菜传记》,那么怎么上传到caicai分支呢,很简单,还是一样的步骤。

$ gitadd caicai.md
$ git commit -m"上传菜菜传记"
$ git push -u ml caicai

这样我们就在git中增加了caicai传记,在caicai这个分支中,我们可以看到成功出现了caicai.md这个文章,但是在我们的main主分支中没有caicai.md这个文章。这个时候我们在github上可以看到caicai提交的文件,我们进行审查即可进行合并到主分支,这个时候我们就可以在主分支看到caicai.md。

我们也可以使用下面指令来合并分支。我们先转入到main分支,然后对caicai分支进行合并.

$ git checkout main
$ git merge caicai
$ git commit -m"合并caicai"
$ gir push -u ml main

合并完成之后caicai分支已经对我们没有用了,可以选择性删除,使用下面的指令.

$ git branch -d caicai

可以使用下面的代码删除远端的仓库

#查看远端仓库的分支
$ git branch -r#删除远端仓库的分支
$ git push ml --delete caicai

常见指令

指令作用git init在当前目录初始化一个新的Git仓库。git add将文件添加到暂存区git commit -m “message”将暂存区中的文件提交到版本历史,附带一条提交信息。git status显示工作树和暂存区的状态git log显示提交历史记录。git branch显示本地分支列表git branch -r显示远端仓库分支git checkout “branch name”切换到指定分支git merge “branch name”将指定分支的修改合并到当前分支。git pull从远程仓库获取最新的提交并合并到当前分支。(需要注意分支对应)git push -u “仓库名” “branch name”将本地提交推送到远程仓库git remote add “name” “url”添加一个远程仓库git remote -v显示远程仓库的详细信息。git diff显示工作树和暂存区之间的差异。git revert “hash code”撤销提交git status查看git 状态git clone “url 地址”克隆仓库

标签: git

本文转载自: https://blog.csdn.net/m0_73726816/article/details/136513413
版权归原作者 huahai2022 所有, 如有侵权,请联系我们删除。

“git进阶”的评论:

还没有评论