文章目录
修改文件
我们再本地修改了README.md文件,我们是需要重新提交的,假如我们修改的文件过多,忘记修改了哪些文件怎么处理呢?
使用git status来查看Git目前的状态。
可以看到没有内容需要提交,工作树干净。这个时候我们在本地仓库新建一个README.txt,并修改一下README.md,再使用git status看看会出现什么结果。
可以看到git帮助我们检查到了两个问题,本地仓库中有README.txt没有提交,本地仓库中的README.md发生了修改。可以使用下面的指令查看README.md做了哪些修改。
$ gitdiff README.md
红色的是修改之前的,绿色的是修改之后的。下一步进行提交即可。
gitadd README.md README.txt #可以同时提交两个文件git commit -m"修改了README.md"git push -u ml main
这样我们对README.md修改进行了合并,对README.txt进行了上传。
那么我们不想要README.txt的话,如何删除这个文件呢,在本地仓库我们直接delete进行删除,然后如何git status进行查看。
可以看到,git已经察觉到我们本地删除了README.txt,那么下一步就是把远程仓库的README.txt进行删除,输入下面指令。
$ gitrm README.txt
这个时候在本地发送出清楚README.txt的指令,但是还没有推送到远程仓库,使用git status查看。
当你运行
git commit
命令提交这个变更时,Git 会将该删除操作作为一个提交保存下来,并从仓库中移除该文件。如果你想取消这个删除操作,可以运行
git restore --staged README.txt
命令将文件从暂存区中移除,也就是取消删除。我们使用下面说明并提交到远程仓库即可。
$ git commit -m"删除README.txt"
$ git push -u ml main
版本控制
使用版本控制我们可以清晰地回到原来修改文章的位置,比如,我们想恢复README.txt这个文件,我们需要进行下面的步骤。
查看提交历史:使用
git log
命令查看提交历史记录,获取要回滚的提交的哈希值。
$ git log
我们找到类回滚位置的哈希值,下一步我们使用git revert命令回滚到指定的提交。
$ git revert f2e466339d8c23f02aa77e4fde987f16737de2f9
接着出现一个vim界面,我们可以看到第一行便是我们的撤销指令,直接退出即可,先按ESC,后输入":q!"退出即可。
使用git status查看当前git的状态,可以看到本地仓库领先远程仓库,使用下面指令推送到远程仓库。这样我们在远端仓库重新看到了README.txt。
$ git push -u ml main
分支管理
新人菜菜来到公司,为了防止他对项目主分支造成不可估计的影响,我们给他创建了一个新的分支caicai。使用下面的代码创建分支。
$ git checkout -b caicai
使用这行代码我们在本地创建了一个caicai的分支,并且自动启动这个分支,可以看到我们的后缀是菜菜。使用git branch查看仓库中存在哪些分支。
$ git branch
使用下面的代码切换分支
$ git checkout main
那么本地仓库的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 地址”克隆仓库
版权归原作者 huahai2022 所有, 如有侵权,请联系我们删除。