Ubuntu16.04上使用git
Posted 我又何罪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu16.04上使用git相关的知识,希望对你有一定的参考价值。
各系统git的使用除了安装方式不同,基本都一样,本文记录的是Ubuntu16.04上使用git
首先要区分git和github的区别:
Git是分布式版本控制系统,也指基于命令行的版本管理工具
github是个网站,用于远程托管你的项目,相当于云盘
sudo apt-get install git
git config --global user.name "Your Name" git config --global user.email "email@example.com"
配置git账号,此处的用户名和邮箱即是在github上注册的用户名和使用邮箱,注意改成自己的名字和邮箱
2.创建仓库
可以新建个空文件夹或在已有项目的根目录下打开终端,执行如下 git init 命令初始化仓库,结果如下:
git init
初始化空的 Git 仓库于 /home/jieker/work/parking_web/parking/trunk/.git/
此处的trunk即时托管的项目,执行完以上命令项目文件夹会多出个.git目录,如果看不到,表示隐藏了,按Ctrl+h键显示
本地git仓库就完成了
3.建立ssh链接
本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所有先创建ssh密钥,执行命令:
ssh-keygen -t rsa -C "youremail@example.com"
注意改成自己的邮箱,执行玩该命令后即会在用户目录下生成 .ssh 目录,如果没看到,表示隐藏了,按Ctrl+h键显示
进入改目录,可以看到有两个文件:id_rsa和id_rsa.pub。id_rsa是私钥,id_rsa.pub是公钥。
接下来要把公钥加到github上
用gedit或其它工具打开id_rsa.pub,全选复制里面的内容
登录github,点左上角下拉选的settings
然后选择 SSH and GPG keys,出现如下界面
点左上角New ssh key,把公钥文件的内容复制进去,保存就可以了
输入 ssh -T git@github.com 命令进行测试
ssh -T git@github.com
The authenticity of host \'github.com (52.74.223.119)\' can\'t be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)?
输入yes按回车,出现以下提示表明成功
Hi jieker! You\'ve successfully authenticated, but GitHub does not provide shell access.
4.本地git仓库关联远程github仓库
在github上建立和本地仓库一样名字的仓库
用命令:git remote add origin
把本地库和远程库关联
git remote add origin git@github.com:jieker/trunk.git
此处没提示,git很多时候没提示就代表成功
在终端进入本地仓库目录
如果是空目录,可以加点文件
查看当前项目更改状态:
git status
把更改加入暂存区:
git add .
提交更改:
git commit -m "第一次提交"
推送到远程github仓库
git push -u origin master
首次推送需要加 -u,有时候会提示你输入密码,输入按回车即可
一切顺利的话就到此结束了
5.创建分支
根据分支管理策略,master分支是发布分支,一般不在此分支修改代码,所有需要创建一个dev或其它分支
比如,创建dev分支并切到dev分支
git checkout -b dev
然后把分支推到远程
git push --set-upstream origin dev
附git团队协作的工作流程
git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支dev,本地每人创建功能分dev_youName支,日常工作流程如下: 去自己的工作分支 $ git checkout work 工作 .... 提交工作分支的修改 $ git commit -a 回到主分支 $ git checkout master 获取远程最新的修改,此时不会产生冲突 $ git pull 回到工作分支 $ git checkout work 用rebase合并主干的修改,如果有冲突在此时解决 $ git rebase master 回到主分支 $ git checkout master 合并工作分支的修改,此时不会产生冲突。 $ git merge work 提交到远程主干 $ git push 这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。
无论是使用命令行还是图形化工具,思路基本是这样
本文主要是简单的介绍了git的使用,git的内容说多也不多,主要要多使用。
以上是关于Ubuntu16.04上使用git的主要内容,如果未能解决你的问题,请参考以下文章