下载、安装:

https://git-scm.com/download/win

双击安装,下一步、下一步...



配置用户信息(自报家门)(在git-bush里配置,也可以在cmd):

git config --global user.name "zhangsan"

git config --global user.email "xxxxxxx@qq.com"

(global参数:这台机器上所有的仓库都使用这个配置)

image.png

image.png

(git config --list:查看配置信息)



可视化工具source tree的安装:

https://www.sourcetreeapp.com/

双击安装,下一步、下一步...



创建git仓库:

        初始化版本库

                git init

        添加文件到版本库

                git add

                git commit

                (还未到远程仓库,还需要git push命令)

        查看仓库状态:

                git status

        image.png

        


image.png

工作流演示:

        进入工作目录,执行clear命令(清理干净后,这是一个全新的目录)

        新建文件并写入内容:

                image.png

        查看状态:

                image.png

        把文件添加到暂存区,查看状态:

                image.png

        提交到本地仓库:

                git commit -m "first commit"

                image.png

        然后,产品经理临时变更需求,改了下:

                image.png

        刚做了修改,要提交到暂存区,不然,本地没有修改的记录:

                git add test.txt

                image.png

                (然而,还没有进行自测,到这步,拎包走人)

        在commit到本地仓库之前,产品经理pao过来说:修改不需要了。所以,要回滚到上那次:

                image.png

                (暂存区的修改回归到工作区。但工作区还没有弄干净clean)

        通过git checkout命令将工作区的文件弄干净

                在git checkout命令执行之前,先看下test.txt的内容:

                        image.png

                执行完git checkout命令后:

                        image.png

                        image.png(干净的)

                        image.png

        接下来,又修改了代码:

                image.png

        再添加到暂存区,然后提交到本地仓库

                image.png

        接下来,产品经理说:第二次需求其实不要做,需要回滚到第一次

                查看git提交日志:

                        image.png

                回滚到第一次提交:

                        image.png

                        (进行回滚,--hard说明最终仓库和暂存区文件都回滚到第一次提交)

                        现在,又变回了第一次提交后的状态:

                                image.png

        这时候,产品经理很欠抽的说:其实大家做的这么多都不用做的!你们要把本地仓库清理干净:

                image.png

                (本地清空了,但暂存区和本地仓库没有)

                git commit之后才说明清空了:

                        image.png

        


提交到远程github:

        先要创建ssh key:

                image.png

                image.png

                在git-bash运行命令 ssh-keygen.exe -t rsa -C "xxxxxxxxxx@qq.com"(自己的git邮箱):

                        image.png

                其实是保存在了git的家目录:

                        image.png

                查看生成的公钥:

                        image.png

                将公钥粘贴到github:

                        image.png

                测试是否是通的:

                        image.png

        添加远程仓库:

                主要用这几个命令:

                        git remote add origin git@github.com:xxoo/xxoo.git

                        git pull origin master --allow-unrelated-histories

                        git push -u origin master

                先在github上创建新的仓库:

                        image.png

                        image.png

                        image.png

                然后在git-bash执行相关操作:

                        先进入工作目录:

                                image.png

                        创建并写入README.md文档:

                                image.png

                        初始化仓库:

                                git init

                                image.png

                        添加到暂存区:

                                git add

                                image.png

                        添加到本地仓库master分支

                                git commit -m "first commit"

                                image.png

                        本地仓库与远程github关联起来:

                                git remote add origin git@github.com:xxoo/websocket_push.git

                                image.png

                        推到github上:

                                image.png

                        查看github,会发现已经提交上来了:

                                image.png

                        改一下,再次提交:

                                image.png

                                (第一次git push -u origin master,接下来就可以git push)

                        查看github,已经更新了:

                                image.png



克隆仓库:

        命令:

                git clone git@github.com:xxoo/xxoo.git

        测试:

                image.png



标签管理:

        命令:

                git tag——>查看所有标签

                git tag name——>创建标签

                git tag -a name -m "commet"——>指定提示信息

                git tag -d name——>删除标签

                git push origin name——>标签发布

        演示:

                image.png

                image.png

                image.png

        查看标签:

                image.png

        

                        

分支管理:

        假设现在有个场景,你准备开发一个新功能,但需要两周时间才能完成,但只写了50%代码,如果立即提交,由于代码没有写完,不完整的代码可能导致项目运行出问题。但如果想把所有的代码写完,再一次提交,就会存在丢失每天进度的风险,有了分支就不用担心这个问题了。你只要创建属于你自己的分支,别人看不到,你只要在自己的分支上工作。而在自己的分支上,怎么提交都行。当你写完之后再合并到原来分支,这样既安全,又不影响工作。

        image.png

        演示:

                image.png

                (ls -a查看,没有看到.git文件,说明没有仓库)

                image.png

                image.png

                创建新的分支(git branch):

                image.png

                查看分支:

                image.png

                (*说明在什么分支上)

                切换到分支:

                image.png

                基于当前分支,进行代码编辑:

                image.png

                把分支的新代码合并到master上去:

                image.png(先切换到master分支上)

                合并到master上去:

                image.png

                image.png

                代码继续写,发现分支feature_x已经没有用了,这时候就要删掉分支了:

                image.png



总结:

        image.png