1.4 安装git
1.Windows
https://git-scm.com/downloads/win
2.linux
[root@git ~]# yum install git -y
3.macos
https://git-scm.com/downloads/mac
1.5想要让git对一个目录进行版本控制需要以下步骤:
进入要管理的文件夹
mkidr uc && cd uc
执行初始化命令
git init
管理目录下文件的状态
git status
注::新增的文件和修改过后的文件都是红色
初始化颜色
git config --global color.ui true
管理指定文件
git add 文件名
git add .
个人信息配置:用户名、邮箱 【一次即可】
git config --global user.email "[email protected]" git config --global user.name "oldxu"
生成版本
git commit -m '描述信息'1
查看版本记录
git log
2.2 第二阶段:拓展新功能
2.3 第三阶段:“约饭事件”
回滚至之前版本
git log
git reset --hard 版本号
回滚之之后版本
git reflog
git reset --hard 版本
2.4 小总结
1 git init #初始化一个目录为版本库
2 git add #将没有被管理的文件,加入git进行管理
3 git commit #将内容提交到版本库中
4 git log #查看提交的历史记录
5 git reflog #查看所有的历史提交记录
6 git reset --hard 版本号 #回退到指定的提交版本记录
2.5.1 分支
分支可以给使用者提供多个环境的可以,意味着你可以把你的工作从开发主 线上分离开来,以免影响开发主线。
2.5.2 紧急修复bug方案
查看分支
git branch1
创建分支
git branch 分支名称
切换分支
git checkout 分支名称
分支合并(可能产生冲突)
git merge 要合并的分支
注意:切换分支再合并
删除分支
git branch -d 分支名称
2.5.4 工作流
2.6 第五阶段
2.6.1 第一天上班前在家上传代码
首先,需要注册github账号,并创建远程仓库,然后再执行如下命令,将代 码上传到github
1. 给远程仓库起别名
git remote add origin 远程仓库地址
git remote add origin https://gitee.com/yang_huan_huan/uc.git
2. 向远程推送代码
git push -u origin 分支
git push -u origin master
3.添加ssh登录
ssh-keygen -C [email protected]
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3IJ2Xr7B7L0edJ/hiSlgTYCcOi9WLo8BcOgDQ1U+XHkPq+XGv89qRbB19/EFqb0pFeLGmWF68iGKvb7png9LCczGJQ7LDUmenS5dmXw0moUEv/MB585HhTOcwE8cYZGzgsFYiQQ7FT8seU5/jRMjWo6qxdfZ2aJ3AWfC1ON9xvS7Y4hw1fs/vhzUEJrQT0J5VxboZ0pOEQXM0BxZG6UOYdDakuiYdjABB7CWg58Py9a84+vwjz3c3NJg/cjTkw+xm3xywGtTX13O1+xqmA0wXd/Ep2S6CMH+EEUckSyBBEV3MXW50IqmUsVQh7BJ2eNQM/LlQHFZJZdCGIiiPuFBT [email protected]
2.6.2 初次在公司新电脑下载代码
1. 克隆远程仓库代码
git clone 远程仓库地址 (内部已实现git remote add origin 远程仓库地址)
2. 切换分支
git checkout 分支
在公司下载完代码后,继续开发
- 切换到dev分支进行开发 git checkout dev
- 把master分支合并到dev [仅一次] git merge master
- 修改代码
- 提交代码 git add . git commit -m 'xx' git push origin dev
2.6.3 下班回到家继续写代码
- 切换到dev分支进行开发 git checkout dev 2. 拉代码 git pull origin dev 3. 继续开发
- 提交代码
git add .
git commit -m 'xx'
git push origin dev
2.6.4 到公司继续开发
- 切换到dev分支进行开发
git checkout dev - 拉最新代码(不必再clone,只需要通过pull获取最新代码即可)
git pull origin dev - 继续开发
- 提交代码
git add .
git commit -m 'xx'
git push origin dev
开发完毕,要上线
- 将dev分支合并到master,进行上线
git checkout master
git merge dev
git push origin master - 把dev分支也推送到远程
git checkout dev
git merge master
git push origin dev
2.6.5 在公司约妹子忘记提交代码
- 拉代码
git pull origin dev - 继续开发
- 提交代码
git add .
git commit -m 'xx'
注:忘记push了
2.6.6 回家继续写代码
- 拉代码,发现在公司写的代码忘记提交...
git pull origin dev - 继续开发其他功能
- 把dev分支也推送到远程
git add .
git commit -m 'xx'
git push origin dev
2.6.7 到公司继续写代码
- 拉代码,把晚上在家写的代码拉到本地(有合并、可能产生冲突) git pull origin dev
- 如果有冲突,手动解决冲突
- 继续开发其他功能
- 把dev分支也推送到远程 git add . git commit -m 'xx' git push origin dev
2.6.8 其他
git pull origin dev 等价于 git fetch origin git merge origin/dev
2.7 小总结
添加远程连接(别名)
git remote add origin 地址 git remote -v
推送代码
git push origin dev
下载代码
git clone 地址
拉取代码
git pull origin dev
等价于
git fetch origin dev
git merge origin/dev
记录图形展示
git log --graph --pretty=format:"%h %s"
第三章 其他
3.1 git标签
1.git标签作什么用? 当Git仓库内的数据有改善或者功能更新时,我们经常 会打一个类似于软件版本号的标签tag,这样通过标签就可以将版本库中的 某次commit给记录下来,便于我们后续将特定时期的数据取出来用。简单 来说:标签也是版本库的一个快照。
2.为什么要使用git标签? Git有commit,为什么还要引入tag?“请把上周一 的那个版本打包发布,commit号是6a5819e...”, “一串乱七八糟的数字不好 找!”如果换一个办法:
“请把上周一的那个版本打包发布,版本号是v1.2”。按照 tag v1.2查找 commit就行!”所以,tag就是一个让人容易记住的名字,它跟某个commit 绑在一起。
git clone 地址1
git pull origin dev 等价于 git fetch origin dev git merge origin/dev
1 2 3 4
git log --graph --pretty=format:"%h %s"1
3.git标签基本使用 1、对当前最新提交的代码创建标签,-a标签名称,-m标 签描述
1.将当前最新代码进行标签
[root@gitlab demo]# git tag -a "v1.1" -m "描述信息"
2.创建标签,指定commitID
[root@gitlab demo]# git tag -a v1.0.1 30e2840 -m "Messages
2、如何查看刚才打的标签。
[root@gitlab demo]# git tag #git log -l
v1.0.0
v1.0.1
3.2 免密码登录
URL中体现
原来的地址:https://github.com/oldxu/treenb.git 修改的地址:https://用户名:密码 @github.com/oldxu/treenb.git
git remote add origin https://用户名:密码 @github.com/oldxu/treenb.git git push origin master
SSH实现
- 生成公钥和私钥(默认放在 ~/.ssh目录下,id_rsa.pub公钥、 id_rsa私钥) ssh-keygen
- 拷贝公钥的内容,并设置到github中。
- 在git本地中配置ssh地址 git remote add origin [email protected]:WuPeiqi/dbhot.git 4. 以后使用 git push origin master
git自动管理凭证
3.3 git忽略文件
让Git不再管理当前目录下的某些文件。.gitigonore
通常情况下有如下文件可能需要忽略
1.程序运行时产生的垃圾文件
2.程序运行时产生的缓存文件
3.程序本地开发使用的图片文件
4.程序连接数据一类的配置文件
*.h
!a.h
files/
*.py[c|a|d]
更多参考:https://github.com/github/gitignore
3.4 git整体总结
1.如何提交代码至本地版本管理
git init
git add .
git commit -m "Message"
git log
git reflog
2.如何回退代码
git reset --hard "commit版本号"
3.git commit是什么东西?
类似于虚拟机的快照
4.git分支?
1.创建分支
2.合并分支
3.分支冲突解决
git merge 分支名
git branch
git checkout 切换分支
5.git与码云|github之间如何关联
git remote add
git push origin
git pull origin
6.git标签
git tag -a "标签名" -m "描述"
git show version
7.git 四大区域 工作区 暂存区 本地版本库 远程仓库
8.git flow工作流程