Ubuntu16.04上使用git

摘要:
各系统git的使用除了安装方式不同,基本都一样,本文记录的是Ubuntu16.04上使用git首先要区分git和github的区别:Git是分布式版本控制系统,也指基于命令行的版本管理工具github是个网站,用于远程托管你的项目,相当于云盘在使用git前先去github注册一个自己的账户,邮箱,用户名,密码在以后都会使用到,不要乱填,也不要忘记。

各系统git的使用除了安装方式不同,基本都一样,本文记录的是Ubuntu16.04上使用git

首先要区分git和github的区别:

Git是分布式版本控制系统,也指基于命令行的版本管理工具
github是个网站,用于远程托管你的项目,相当于云盘

在使用git前先去github注册一个自己的账户,邮箱,用户名,密码在以后都会使用到,不要乱填,也不要忘记。
面对纯英文的网站,可能你会感觉很懵,暂且不用管,我们常用的功能并不多,等你熟悉以后就会觉得so easy
注册完之后根据这个教程学习:Git教程 - 廖雪峰的官方网站
很详细,囊括了几乎所有git的知识。面对这些命令,可能你会感觉有点恐惧,告诉自己,所有的恐惧都是因为自己不熟悉,等你熟悉之后一切都是很简单的。在这里,不用刻意去记住每个命令,理解git一些名词的概念和工作原理,常用命令的含义就可以了。最好的学习办法是跟着教程自己做一遍。
在弄懂了git中重要概念时,为了方便使用,可以使用图形化工具了,Windows可以使用source Tree,当然很多开发工具都集成了git,这里暂不做过多介绍。
本文重点是讲Ubuntu下如何初始化git仓库并关联到github上
1.git安装
在Ubuntu下随便打开终端输入:
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

Ubuntu16.04上使用git第1张

然后选择 SSH and GPG keys,出现如下界面

Ubuntu16.04上使用git第2张

点左上角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 isSHA256: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上建立和本地仓库一样名字的仓库

Ubuntu16.04上使用git第3张

用命令: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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaScript History 对象Arcgis镶嵌数据集java代码操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows

作者:feipeng8848 出处:https://www.cnblogs.com/feipeng8848/p/8568018.html 本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。   知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ——————————...

git解决代码提交冲突

树冲突文件名修改造成的冲突,称为树冲突。比如,A同事把文件改名为A.C,B同事把同一个文件改名为B.C,那么B同事将这两个commit合并时,会产生冲突。如果最终确定用B同事的文件名,那么解决办法如下:git rm A.Cgit rm origin-name.Cgit add B.Cgit commit如果最终确定用A同事的文件名,那么解决办法如下:git...

在实际项目中使用git推代码踩过的坑

Git使用中出现的状况: BUG集锦: On branch dev nothing to commit, working tree clean 说明在dev分支上,没有什么提交,很干净; 2.fatal:couldn't find remote ref dev 新建项目时,pull出现的报错信息,说明项目还有有文件,时空的直接进行推代码 3.git p...

maven&nexus_repository 私库搭建与使用

一、nexus仓库安装 1,http://www.sonatype.org/nexus/    下载sso版本,免费2,tar -zxvf nexus-2.11.1-01-bundle.tar.gz3,修改端口号    /conf/nexus.properties文件     application-port属性值设置端口号4,默认端口8081,http:...

VScode集成Git

Git/GitHub/GitHub Desktop相关概念 1、Git   Git是一款免费的、开源的、最先进的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。   Git的每个用户都相当于一个备份,管理员无需为数据备份而担心。Git中包括提交、文件内容等都通过SHA1哈希保证数据的完整性,任何恶意篡改历史数据都会被及时发现从而被挫败...

Git文件状态描述

检查当前文件状态[root@typhoeus79 ice_test_m git_test]# git status # On branch master nothing to commit (working directory clean) 说明当前git目录很干净,所有已跟踪的文件在上次提交后没有修改过。当前的分支为master Untracked状...