Git学习笔记
来源:互联网 发布:网络电玩城捕鱼游戏 编辑:程序博客网 时间:2024/06/03 09:07
11.3 星期五 :
1.根据网络教程下载了Git
2.在廖雪峰官方网站正式开始学习git
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
3.学习了Git的简介: git init 创建仓库 git add <文件名> 把文件修改添加到暂存区 git add **/*.java 把本文件夹里的文件都添加进去; git commited -m“内容说明” 把暂存区的所有内容提交到当前分支
11.4 星期六:
时光机穿梭:
1关于版本退回的知识: git status 查看各个文件的状态是否更新 git diff 查看修改的变化; git log 查看日志,按照从最近到以前是顺序排列 git log --pretty=oneline:查看日志且只显示版本号的版本; git reset --hard HEAD^/HEAD^^ 回退上一个版本/回退上上个版本 ^个表示回退n个以前的版本 git reset --hard commit id 回退到指定commit id的版本; git reflog 可以查看所有历史变化日志;
2工作区和暂存区: 工作区:就是本文件夹 版本库:.git文件夹 暂存区:.git文件夹里面的stage
3管理修改: Git管理的是修改,每次修改之后否则就需要git add 否则修改不能提交;
4撤销修改: git checkout -- <文件名> //撤销文件在工作区的修改 git reset -- HEAD <文件名> //把暂存区的修改退回到工作区
5删除文件: rm <文件名> //把工作区里的文件删除 git rm <文件名> 然后 git commit -m“ ” //把暂存区的文件删除 git checkout <文件名> 把文件从工作区中恢复过来,只要版本库里有该文件求可以;
11.5 星期日
远程仓库
:本地git仓库和github仓库之间的传输是通过SSH加密的
创建SSH密钥: $ssh -keygen -t rsa -c “你的邮箱地址”
.SSH目录里有两个文件:id_rsa是私密,id_rsa.pub是公钥
1添加远程仓: git remote add origin 远程仓库的地址 git push -u origin master 把本地仓库内容推送到远程库上 由于远程库是空的,我们//第一次//推送master分值时,加上-U参数, git不但会把分支内容推送的远程新的master分支,还会把本地推送成功后, 可以立刻在github页面中看到远程库的内容已经和本地一模一样; git push origin master //以后就可以直接这样推送了
2克隆仓库: git clone 远程仓库地址
分支管理:
你创建了一个属于你自己的分支,别人看不到,
还继续在原来的分支上正常工作,而你在自己的分支上干活,
想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,
这样,既安全,又不影响别人工作。
1创建与删除分支: 创建方法1:git checkout -b 新分支名 创建方法2:git branch 新分支名 然后 git checkout 该新分支名 git branch 显示所有的分支 git checkout 分支名 //切换分支 git merge 分支名 //将该分支合并到当前分支 git branch -d 分支名 //删除分支
2解决冲突: 1.在主分支上,把文档内容设置为 this is master!并提交 2.新建一个dev分支,把文档内容设置为 this is dev!并提交 转为master去 3.使用git merge dev,让两个合并,这个时候会出现提示冲突 4.重新打开文档,会显示各个不同的版本,看着删除就可以了,然后保存提交 5.删除dev分支,就可以了
3分支管理策略: 合并分支时,一般会用faster-forward模式,这种模式下,删除分支后,会丢失分支信息; git merge --no--ff -m“描述说明” dev //dev分支与当前分支合并,并且禁用faster forward,原来的dev分支信息还在; git log --graph --no--ff --pretty=oneline --abrev -commit
4bug分支: git stash //当前的分支中不想提交,可以使用把当前工作现场储藏起来 git stash list //查看stash内容 恢复现场的2个方法: 1、git stash apply 然后手动删除stash git stash drop 2、git stash pop //stash也自动删除了。
5feature分支: 当添加一个新功能的时候,就创建一个feature分支,当该分支已经add,并且commit了,但是不能合并,必须强行删除 git branch -D feature分支 //强行删除
6多人协作: 分支推送:把该分支上的所有本地提交推送到远程库,推送时,要指定本地分支,这样git就会把该分支推动到远程库对应的远程分支上; git remote 查看远程库的信息 git remote -v 查看远程库详细信息 git push origin master //推送master分支到远程仓库上 git push origin dev //推送dev分支到远程仓库上 master分支是主分支,因此要时刻与远程同步; dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步; bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug; feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。 当别人最新提交和你试图推送的提交有冲突,就先用git pull 把最新的提交从其他分支抓下来在本地合并,解决冲突,再推送; 如果git pull失败的话,就在git pull 一次,然后在推送git push; 多人协作的工作模式通常是这样: 1、首先,可以试图用git push origin branch-name推送自己的修改; 2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 3、如果合并有冲突,则解决冲突,并在本地提交; 4、没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功! 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。 在本地创建分支要对应远程库的分支:git checkout -b 分支名 origin/分支名 例如:要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是命令创建本地dev分支:git checkout -b dev origin/dev 建立本地分支和远程分支的关联,使用git branch --set-upstream 分支名 origin/分支名
标签管理
11.6星期一
标签管理:发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。
将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
1创建标签: git tag 标签名 //对最近的提交做一个标签 git tag 标签名 commit id //对指定的版本做标签 git tag //显示所有的tag git show 标签名 //指定标签名显示 git tag -a标签名 -m“说明内容” commit id //指定标签名,添加说明内容,在指定版本号 git tag -s -a 标签名 -m“说明内容” commit id //创建PGP标签
2操作标签: git tag -d 标签名 //删除指定标签名 git push origin 标签名 //推送指定标签到远程库 git push origin --tag //推送本地全部没有推送过的tag标签到远程库 git push origin :ref/tag/标签名 //从远程库上删除指定标签
码云: git remote -v //查看远程信息库 git remote rm 远程库名 //删除远程库名
阅读全文
0 0
- 【git】git学习笔记
- Git学习笔记-Git Branching
- Git学习笔记:Git命令
- git常用命令-Git学习笔记
- Git学习笔记--Git入门
- Git 学习笔记 --- 自定义Git
- git/github学习笔记
- git 学习笔记
- Git 学习笔记
- git学习笔记
- git 学习笔记
- Git学习笔记 - 1
- Git学习笔记
- Git学习笔记 - 1
- git/github学习笔记
- git学习笔记
- Git 学习笔记
- GIT之学习笔记
- Spring Boot学习之旅:(十一)模版引擎-jsp
- Docker下,极速体验pinpoint1.6.3
- 【plan】noip冲刺计划
- footer置顶之js方法
- while语句
- Git学习笔记
- 总结一
- 搭建基于https和Parse的后端服务
- PAT乙级1011. A+B和C (15)
- 《Pro Git》pdf 下载
- 《Effective Java》pdf下载
- 《人月神话》 pdf 下载
- UVALive 6181|HDU 4492|Mystery|猜题意|模拟
- PAT乙题1012. 数字分类 (20)