一.思维导图
二.下载软件
Git的安装
官网下载地址:https://git-scm.com/download
Git客户端安装过程
1.找到git官网点击Downloads
2.点击windows版本(根据电脑版本选择对应的版本)
** 3.选择64-bit Git for Windows Setup.进行下载**
三.软件安装
1.双击安装程序“Git-2.46.0-64-bit.exe”,显示截图如下:
2.点击"Next",显示截图如下:
3.继续点击"Next",显示截图如下:
4.最后下载完成点击finish
5.安装完成后,设置最后一步,在命令行里面输入自己的邮箱和用户名:
四.如何操作
1.创建版本库,版本库又名仓库,可以理解为一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件“还原”。
列如:在D盘 -> git目录下新建一个testgit版本库
pwd命令是用于显示当前的目录。
(1)通过命令 git init 把这个目录变成git可以管理仓库。
同时在 testgit 目录下会多一个 .git 的目录,这个目录是Git来跟踪管理版本的,如下:
(2)把文件添加到版本库中。
在版本库 testgit 目录下新建一个记事本文件 readme.txt 内容如下:
第一步使用命令 git add readme.txt 添加到暂缓区里面去。如下:
如果和上面一样,没有任何提示命令,说明已经添加成功了。
第二步,用命令 git commit 告诉Gut,把文件提交到仓库。
现在我们已经提交了一个 readme.txt 文件了,我们下面可以通过命令git status 来查看是否还有文件未提交,如下:
说明没有任何文件未提交,但是我现在修改readme.txt的内容,继续使用 git status 来查看下结果:
上面的命令告诉我们,readme.txt 文件已经被修改,但是未被提交的修改。
接下来我们可以通过 git diff readme.txt 查看文件修改了什么内容
可以看到文件内容删除了一行aaaaaaaaaa
知道了对 readme.txt 文件做的修改后,我们可以放心的提交到仓库了,提交修改和提交文件如上一样(第一步是 git add 第二步是:git commit)。如下:
2.版本回退
如上,对 readme.txt 文件进行修改后, 如果想查看历史记录,可以使用命令 git log 如下:
如果嫌上面的类容过多的话,我们可以使用命令 git log --pretty=oneline,如下:
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,可以使用如下 2 种命令,第一种是:git reset --hard HEAD^ 那 么如果要回退到上上个版本只需把 HEAD^ 改成 HEAD^^ 以此类推。那如果 要回退到前 100 个版本的话,使用上面的方法肯定不方便,我们可以使用下面 的简便命令操作:git reset --hard HEAD~100 即可。
现在的问题假如我已经关掉过一次命令行或 者想要的内容的版本号我并不知道呢?要如何知道增加想要的内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog 演示如下:
通过上面显示可知对应内容的版本号,现在我们可以使用命令 git reset --hard 576f19b 来恢复了,如下:
3.查看命令
cat
是一个 Unix 命令,用于连接并显示文件的内容。它不是 Git 的一部分,但你可以用它来查看工作目录中文件的内容。例如:cat readme.txt
ls 列出当前目录的文件和子目录:
**
git ls-files
**列出 Git 索引中的所有文件:
4.删除命令
我现在版本库 testgit 目录添加一个文件 12.txt,然后提交。如下:
如上:一般情况下,可以直接在文件目录中把文件删了,或者使用如上 rm 命 令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行 commit 命令 提交掉。
只要没有 commit 之前,如果我想在版本库中恢复此文件如何操作呢? 可以使用如下命令 git restore-- b.txt,如下所示:
五、远程操作
现在我们已经在本地创建了一个 Git 仓库,又想让其他人来协作开发,此时就 可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。 常用的远程仓库就是 github:https://github.com/
1.在 github 上创建仓库
点击“create repository”按钮仓库就创建成功了。
Github 支持两种同步方式“https”和“ssh”。 如果使用 https 很简单基本不需要配置就可以使用,但是每次提交代码和下载 代码时都需要输入用户名和密码。 如果使用 ssh 方式就需要客户端先生成一个密钥对,即一个公钥一个私钥。然 后还需要把公钥放到 githib 的服务器上。
2.ssh 密钥生成
ssh 密钥生成 在了解之前,先注册 github 账号,由于你的本地 Git 仓库和 github 仓库之间 的传输是通过 SSH 加密的,所以需要一点设置: 第一步:创建 SSH Key。在用户主目录下,看看有没有.ssh 目录,如果有,再 看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果有的话,直接 跳过此如下命令,如果没有的话,打开命令行,输入如下命令: git bash 执行命令,生命公钥和私钥,命令: ssh-keygen -t rsa
执行命令完成后,在 window 本地用户.ssh 目录 C:\Users\用户名.ssh 下面生 成如下名称的公钥和私钥:
3.ssh 密钥配置
密钥生成后需要在 github 上配置密钥本地才可以顺利访问。
在 key 部分将 id_rsa.pub 文件内容添加进去,然后点击“Add SSH key”按钮 完成配置。 同步到远程仓库 同步到远程仓库可以使用 git bash。 目前,在 GitHub 上的这个 testgit 仓库还是空的,GitHub 告诉我们,可以
4.同步到远程仓库
同步到远程仓库可以使用 git bash。
目前,在 GitHub 上的这个 testgit 仓库还是空的,GitHub 告诉我们,可以从 这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把 本地仓库的内容推送到 GitHub 仓库。
现在,我们根据 GitHub 的提示,在本地的 testgit 仓库下(D:\git\testgit) 运行命令:
git remote add origin https://github.com/18515592159zhu/testgit.git git push -u origin master 所有的如下:
如果出现如下错误:
把本地库的内容推送到远程,使用 git push 命令,实际上是把当前分支 master 推送到远程。 由于远程库是空的,我们第一次推送 master 分支时,加上了 –u 参数,Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以 简化命令。推送成功后,可以立刻在 github 页面中看到远程库的内容已经和本 地一模一样了,上面的要输入 github 的用户名和密码如下所示:
从现在起,只要本地作了提交,就可以通过如下命令:git push origin master
把本地 master 分支的最新修改推送到 github 上了,现在你就拥有了真正的分 布式版本库了。
5.如何从远程库克隆
上面我们了解了先有本地库,后有远程库时候,如何关联远程库。 现在我们想,假如远程库有新的内容了,我想克隆到本地来 如何克隆呢? 首先,登录 github,创建一个新的仓库,名字叫 testgit2.如下:
如下,我们看到:
现在,远程库已经准备好了,下一步是使用命令 git clone 克隆一个本地库:
接着在我本地目录下 生成 testgit2 目录了,如下所示:
六、创建与合并分支
在版本回填退里,你已经知道,每次提交,Git 都把它们串成一条时间线,这 条时间线就是一个分支。截止到目前,只有一条时间线,在 Git 里,这个分支 叫主分支,即 master 分支。HEAD 严格来说不是指向提交,而是指向 master, master 才是指向提交的,所以,HEAD 指向的就是当前分支。 首先,我们来创建 dev 分支,然后切换到 dev 分支上。如下操作:
1、分支管理策略
通常合并分支时,git 一般使用”Fast forward”模式,在这种模式下,删除 分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff 来禁用”Fast forward”模式。首先我们来做 demo 演示下:
创建一个 dev 分支。
修改 readme.txt 内容。
添加到暂存区。
切换回主分支(master)。
合并 dev 分支,使用命令 git merge –-no-ff -m “注释” dev
查看历史记录
七、多人协作
当你从远程库克隆时候,实际上 Git 自动把本地的 master 分支和远程的 master 分支对应起来了,并且远程库的默认名称是 origin。
• 要查看远程库的信息 使用 git remote
• 要查看远程库的详细信息 使用 git remote –v
如下演示:
1、推送分支: 推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分 支,这样,Git 就会把该分支推送到远程库对应的远程分支上:使用命令 git push origin master
2、抓取分支: 多人协作时,大家都会往 master 分支上推送各自的修改。现在我们可以模拟另 外一个同事,可以在另一台电脑上(注意要把 SSH key 添加到 github 上)或者 同一台电脑上另外一个目录克隆,新建一个目录名字叫 testgit2
但是我首先要把 dev 分支也要推送到远程去,如下:
接着进入 testgit2 目录,进行克隆远程的库到本地来,如下: 现在目录下生成有如下所示:
• git remote add origin https://github.com/che-rgb/testgit.git 关联一个远 程库
• git push –u(第一次要用-u 以后不需要) origin master 把当前 master 分支推送到远程库
• git clone https://github.com/che-rgb/testgit.git 从远程 库中克隆
• git remote 查看远程库的信息
• git remote –v 查看远程库的详细信息
• git push origin master Git 会把 master 分支推送到远程库对应的远程 分支上
版权归原作者 wiki _w 所有, 如有侵权,请联系我们删除。