课程名称:六大场景 关于Git你需要知道的知识点
课程章节:关于Git你需要知道的知识点
课程讲师: Brian
课程内容:
git flow
经典模型的问题
1、必须使用dev分支
2、复杂度高:修复与发行版分支
3、多次合并合并
现在多数用的git flow
适用于持续集成多环境场景
上游分支向下游发展
流程∶Bug->New Branch->master->pre branch->Target Branch
如何使用git
git使用https协议,每次pull, push都要输入密码,相当的烦。
使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。
需要三个步骤:
一、本地生成密钥对;
二、设置github上的公钥;
三、修改git的remote url为git协议。
1、生成密钥
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。
绑定邮箱:ssh-keygen -t rsa -C "your_email@youremail.com"
输入密码:Enter passphrase (empty for no passphrase): [Type a passphrase]
生成文件:Your identification has been saved in /home/you/.ssh/id_rsa.
2、添加公钥到你的github帐户
2-1、查看你生成的公钥:大概如下:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlE
LEVf4h9lFX5QVkbPppSwg0cda3 Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA t3FaoJoAsncM1Q9x5+3V
0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx NrRFi9wrf+M7Q== schacon@agadorlaptop.local
2-2、登陆你的github帐户。然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key
2-3、然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,你随便填一个都行。
2-4、完了,点击 Add key。
这样,就OK了。然后,验证下这个key是不是正常工作。
$ ssh -T git@github.com
如果,看到:
Hi username! You've successfully authenticated, but GitHub does not # provide shell access.
就表示你的设置已经成功了
3、修改你本地的ssh remote url. 不用https协议,改用git 协议
确保:
你已经init了一个空仓库。
你已经把远程git的url添加到了本地git仓库的配置文件
可以用git remote -v 查看你当前的remote url
$ git remote -v
origin https://github.com/someaccount/someproject.git (fetch)
origin https://github.com/someaccount/someproject.git (push)
可以看到是使用https协议进行访问的。
你可以使用浏览器登陆你的github,在上面可以看到你的ssh协议相应的url。类似如下:
git@github.com:someaccount/someproject.git
这时,你可以使用 git remote set-url 来调整你的url。
git remote set-url origin git@github.com:someaccount/someproject.git
完了之后,你便可以再用 git remote -v 查看一下。
$ git remote -v
origin https://git@github.com:someaccount/someproject.git (fetch)
origin https://git@github.com:someaccount/someproject.git (push)
OK。
至此,你就可以省去输入密码的麻烦,也可以很安全的进行push,pull,fetch,checkout等操作了。
你可以用git fetch, git pull , git push。
git status命令:可以让我们时刻掌握仓库当前的状态。
git diff命令:让我们查看文件与版本库中的区别。
克隆仓库:
$ git clone [user@]example.com:path/to/repo.git/
或者添加远程仓库:
使用git remote add命令,添加一个远程仓库的链接,命令格式:git remote add [远程仓库别名] [远程仓库地址]
$ git remote add origin git@github.com:michaelliao/learngit.git
拉取代码。
如果已经被git管理的项目,则使用git pull和git fetch来管理代码的拉取与更新:
使用git pull拉取远程代码的HEAD头标记,即最新的代码。
命令格式:$ git pull <远程主机名> <远程分支名>:<本地分支名>
$ git pull
提交代码
把所有的文件更改提交到暂存区:
$ git add -a
为所有暂存区的代码写入日志并提交到本地仓库:
$ git commit -m “(something)”
把所有本地仓库的提交,更新到远程仓库:
$ git push
git log命令:查看每次修改的日志文件。
git log与git reflog的区别,记得几点:git log是顺着当前分支往前去查找提交记录,而git reflog并不像git log去遍历提交历史,它都不是仓库的一部分,它不包含推送、更新或者克隆,而是作为本地提交记录的清单。简单理解:本地后悔药。
git reset命令:回退命令。
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
$ git reset --hard HEAD^
HEAD is now at ea34578 add distributed
回退add命令提交到缓存区的文件,并不会把文件恢复缓存区,需要区别(3)git checkout命令:
$ git reset HEAD
git checkout --命令:丢弃缓存区文件的修改,把文件恢复到git add之前的状态。
git diff HEAD --命令可以查看工作区和版本库里面最新版本的区别
git rm删除文件。
课程收获:
需要温习了很多git很多命令,克隆,同步,提交,打标签,切换分支,保存现场等,还认识了多人办公的提交流程,可以快捷的在项目中实践下,提高工作效率还有协同率,这样就算是人员流失,或者进入新的团队都可以很好的使用git flow啦
共同学习,写下你的评论
评论加载中...
作者其他优质文章