本篇文章给大家带来了git的基本使用相关知识,其中包括git的基本操作,分支操作以及更改提交的操作等等,希望对大家有帮助。
设置 SSH Key 使得设备可以有权限访问账户里面的代码仓库
$ ssh-keygen -t rsa -C "your_email@example.com"
"your_email@example.com"
设置为自己GitHub账户的注册邮箱$ cat ~/.ssh/id_rsa.pub
ssh-rsa 公开密钥的内容 your_email@example.com
ssh-rsa
也拷贝下来接下来验证一下,出现successfully字样即为成功
$ ssh -T git@github.com Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa': Hi abc! You've successfully authenticated, but GitHub does not provide shell access.
$ git clone git@github.com:hirocastest/Hello-World.git
这里会要求输入 GitHub 上设置的空开密钥的密码,认证成功后,仓库便会被 clone 到当前目录中。
代码编写完成之后,将代码添加到系统的暂存区
$ git add 文件夹/文件
git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。
$ git commit -m "记录一行提交信息"
之后只要执行 push
命令,GitHub 上的仓库就会被更新
$ git push
clone
方法建立仓库,不需要执行 init
操作。如果要把本地文件设置为仓库,那么就需要进行 init 操作
$ mkdir git-tutorial $ cd git-tutorial $ git init
$ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
结果现实,我们正处于 masteer 分支下,并且没有可提交的内容
git log
命令可以查看以往仓库中提交的日志。包括什么人在什么时候进行了提交或合并
$ git log commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD) Author: ywm <ywm_up@qq.com> Date: Sun Feb 28 17:17:00 2021 +0800
只想现实提交信息的第一行,可以在 git log
命令后加上 -- pretty=short
$ git log --pretty=short
执行 git diff
查看当前工作书与暂存区的差别
$ git diff
可以创建多个分支,同时进行完全不同的作业。等分支作业完成之后再与 master 分支合并。通过灵活运用分支,可以让多人同时高效的进行并发开发。
master 分支左侧有 “*”(星号),表示这是我们当前所在的分支。
$ git branch * master
创建并切换到分支 feature-A
$ git checkout -b feature-A
实际上,上面那条命令,等价于下面两条命令
$ git branch feature-A $ git checkout feature-A
切换回分支 mian
$ git checkout main
切换回上一个分支
$ git checkout -
通过实际操作可以证明:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发
合并时加上 --no–ff 参数,可以保存之前的分支历史
$ git merge --no-ff feature
随后编辑器会启动,用于录入合并提交的信息
$ git log --graph
$ git reset --hard 目标时间点的hash值
通过 git reflog
查看当前仓库的操作日志,可以找到回溯历史之前的哈希值。只要不进行 git 的 GC(垃圾回收),就可以通过日志随意调取近期的历史状态。即便开发者错误执行了 git 操作,基本也可以用 git reflog 命令恢复到原先的状态。
$ git reflog
上面打印的是最近的操作,下面打印的是最旧的操作
如果对上一条提交信息不满意,可以使用 amend 参数进行修改
$ git commit --amend
在合并分支之前,如果发现已提交的内容中有些拼写错误,不妨提交一个修改,然后将这个修改包含到前一个提交之中,压缩成一个历史记录。
git rebase -i HEAD~2
可以选定档期按分支中包含 HEAD 在内的两个最新历史记录为对象,并在编辑器中打开
在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
推送至 master 分支
$ git push -u origin master
-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦
除了 master 分支之外,还可以推送到其他分支
$ git checkout -b feature-D $ git push -u origin feature-D
$ git clone git仓库地址
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
推荐学习:《Git教程》
以上是如何二十分钟搞懂git的基础使用的详细内容。更多信息请关注PHP中文网其他相关文章!