git的相关使用
一.git相关介绍
1 什么是Git
Git是一个免费、开源的版本控制软件
相似的软件还有svn
2 什么是版本控制系统
版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统。
系统具体功能
记录文件的所有历史变化
随时可恢复到任何一个历史状态
多人协作开发或修改
错误恢复
3 什么是Github
Github是全球最大的社交编程及代码托管网站(https://github.com/)。
Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)
相似的软件有:码云
4 Github和Git是什么关系
Git是版本控制软件
Github是项目代码托管的平台,借助git来管理项目代码
5.git示意图

二.git的基本使用
1.初始化相关操作
#初始化git和配置邮箱和姓名 git init #初始化操作 git config --global user.email "you@example.com" git config --global user.name "Your Name"
2.代码编辑好相关操作
git add . #提交代码到暂存区,(查看状态该文件会变绿的变绿) git commit -m '描述信息' #将代码提交到分支,(查看状态会相应的变红)
3.需要以前版本的时候
$ git log # 查看日志 $ git reset --hard 3f02c8965996be72b95ded036cc9085b47140dfd # 回滚到指定版本 $ git reflog # 回滚之后再查回滚之前的版本日志信息 $ git reset --hard '编号' $ git status # 查看状态
三.出现bug情况下的修复
当代码开发一定的时候,发现以前的版本出现bug,需要进行修复,但是现在的功能也在进行中,所以,我们要先先将代码提交到暂存区,在取修复以前的代码
1.基于stash修复bug
--------------第一版上线,新功能开发中------------ $ git stash # 暂存红色开发一半的新功能(这里也有bug) -----------------------bug修复中------------------- ------bug修复完了,重新上线,新功能继续开发----- $ git stash list # 查看暂存区内容 $ git stash pop # 取出红色新功能(这里bug也被修复了) # 如果出现冲突要手动解决!!!
2.基于分支修复bug
分支学习:branch称为分支,默认仅有一个名为master的分支。一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支

如果出现bug,则可以按照下图进行修改

相关命令以及操作
$ git branch dev # 创建dev分支,用于开发新功能(在哪个分支创建,就会在当前分支拷贝一份) $ git branch bug # 创建 bug分支用于修复bug $ git checkout dev # 小鸣切换到dev去开发新功能去 $ git checkout bug # 小佐切换到bug分支去修复bug ---- 小鸣新功能开发中,小佐发现master分支的项目有bug,就在bug分支上改bug------ $ git checkout msater # 小佐改完bug后提交并切换到master $ git merge bug # 小佐合并修复bug的bug分支到master $ git checkout msater # 此时小鸣也开发完新功能,提交后切换到master分支 $ git merge dev # 在master上合并dev新功能 $ git branch # 查看存在的分支 $ git branch -d bug # 删除指定分支 # 注意:切换分支之前要add . commit 。如果合并有冲突要手动解决,再提交。
四.托管代码到代码管理平台(以github为例)
1.注册账号
首次连接GitHub需要输入
git config --global user.email "you@example.com" git config --global user.name "Your Name"
2.将代码拖推上GitHub
git add . git commit -m 'xx' git remote add origin https://github.com/xu-fang-ming/git_test.git #给项目指定一个源 git push origin master # 也可以通过-u指定以后push的默认分支 git push -u origin master ,此操作后,git push 就表示 git push origin master
3.在公司和家里之间进行相互的合作
#第一次获取代码的方式有以下三种: #一.克隆 git clone https://github.com/xu-fang-ming/git_test.git cd 'test' #切换到应的目录下进行操作 #二 git init git remote add origin https://github.com/xu-fang-ming/git_test.git git pull origin master #三 git init git remote add originhttps://github.com/xu-fang-ming/git_test.git git fetch origin master git merge origin/master #以后的操作 git pull origin master git fetch origin master git merge origin/master
示例
---------------------在公司----------------------- $ git branch dev # 创建dev分支 $ git checkout dev # 切换到dev分支进行开发 $ touch work.txt # 开发了一半 $ git add . $ git commit -m "在公司开发了一半" $ git push origin dev # push到分支 ------------------------下班回家----------------------- $ git clone https://github.com/lichengguang/gitdemo.git # 将项目clone下来 $ cd gitdemo/ $ git branch dev # 创建dev分支(默认clone的是master) $ git checkout dev $ git pull origin dev # 在dev分支下将github上的dev分支pull下来 $ mv work.txt worked.txt # 继续开发完 $ git add . $ git commit -m "项目在家完成了" $ git checkout master $ git merge dev # 切换到master进行合并 $ git push origin master # 将完成合并的代码push到github的master分支
五.多人协同开发模式
方式一:添加合作者的形式

方式二:新建组织

3.协同开发
master分支跟线上的代码一样。另外每个人再使用一个单独的分支,再创建review分支用于代码的review。
每个人一个功能模块开发完后,合并到review,一般由组长进行代码的review。通过测试后在上线
六.过滤掉一些不需要上传的文件(.gitignore)
可以创建一个.gitignore文件来实现过滤的不需要上传的文件
touch gitigore #创建一个这样的文件(用于过滤) #文件里面可以写,例如: # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class 等等
七.git的两种连接方式
1.https
这种方式每次往上推都需要写用户名和密码
https://github.com/xu-fang-ming/test6.git #每次push都需要账号和密码 https://用户名:密码@github.com/xu-fang-ming/test6.git 也需要输入用户名和密码 私有项目就这样链接: git clone https://用户名:密码@github.com/xu-fang-ming/test6.git
2.ssh
$ ssh-keygen -t rsa # 生成ssh $ cat ~/.ssh/id_rsa.pub 查看公钥 #然后把公钥复制下来
把公钥放入:




git基本使用差不多就是这些了

浙公网安备 33010602011771号