第一步:
官网下载GIT: https://www.git-scm.com/download/
Git介绍
分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。
保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。
Git离线操作性:Git可以离线进行代码提交,因此它称得上是完全的分布式处理,Git所有的操作不需要在线进行;这意味着Git的速度要比SVN等工具快得多,因为SVN等工具需要在线时才能操作,如果网络环境不好, 提交代码会变得非常缓慢。
Git基于快照:SVN等老式版本控制工具是将提交点保存成补丁文件,Git提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据(作者,日期,GPG等)。
Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。
分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支,另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去。
分支灵活性:用户可以随时创建、合并、删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并,这种方式使开发变得快速、简单、安全。
第三步Git客户端安装过程:
1.双击安装程序“Git-2.10.2-64-bit.exe”,显示截图如下:
2.点击“Next”,显示截图如下:
根据自己的情况,选择程序的安装目录。
3.继续点击“Next”,显示截图如下:
说明: (1)图标组件(Addition icons) : 选择是否创建桌面快捷方式。 (2)桌面浏览(Windows Explorer integration) : 浏览源码的方法,使用bash 或者 使用Git GUI工具。 (3)关联配置文件 : 是否关联 git 配置文件, 该配置文件主要显示文本编辑器的样式。 (4)关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件。 (5)使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码。
4.选择完之后,点击“Next”,显示截图如下:
开始菜单快捷方式目录:设置开始菜单中快捷方式的目录名称, 也可以选择不在开始菜单中创建快捷方式。
5.点击“Next”,显示截图如下
设置环境变量 选择使用什么样的命令行工具,一般情况下我们默认使用Git Bash即可: (1)Git自带:使用Git自带的Git Bash命令行工具。 (2)系统自带CMD:使用Windows系统的命令行工具。 (3)二者都有:上面二者同时配置,但是注意,这样会将windows中的find.exe 和 sort.exe工具覆盖,如果不懂这些尽量不要选择。
6.选择之后,继续点击“Next”,显示如下:
选择提交的时候换行格式 (1)检查出windows格式转换为unix格式:将windows格式的换行转为unix格式的换行再进行提交。 (2)检查出原来格式转为unix格式:不管什么格式的,一律转为unix格式的换行再进行提交。 (3)不进行格式转换 : 不进行转换,检查出什么,就提交什么。
7.选择之后,点击“Next”,显示截图如下:
8.选择之后,点击“Next”,显示截图如下
9.选择之后,点击“Install”,开始安装,截图显示如下:
10.安装完成之后,显示截图如下:
这样,我们的Git客户端就下载并安装完成了。
2.1 安装完成后
在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!打开Git Bash 命令行操作界面。
2.2创建ssk,获得本机的公钥和私钥
ssh-keygen -t rsa -C "youremail@example.com"
回车 输入密码 两次 ---------------------两次都是隐藏的,你只能默写这输入在控制台上不显示
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人,目录就是上面的c:/users/sunjian/.ssh/id_rsa 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面: 然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
如下图所示,点击1处的 SSH and GPG keys,然后点击2处的 New SSH key 按钮,在3处填写刚刚生成的SSH Key,Title 处填写标题,可以随便填,Key 处粘贴刚才生成的 key。添加成功后如4处所示。
#### 可以输入以下命令验证是否成功
其中如果出现github连接报"ssh: connect to host http://github.com port 22: Connection timed out"错误
解决:
用编码器打开
# $OpenBSD: ssh_config,v 1.33 2017/05/07 23:12:57 djm Exp $
This is the ssh client system-wide configuration file. See
ssh_config(5) for more information. This file provides defaults for
users, and the values can be changed in per-user configuration files
or on the command line.
Configuration data is parsed as follows:
1. command line options
2. user-specific file
3. system-wide file
Any configuration value is only changed the first time it is set.
Thus, host-specific definitions should be at the beginning of the
configuration file, and defaults at the end.
Site-wide defaults for some commonly used options. For a comprehensive
list of available options, their meanings and defaults, please see the
ssh_config(5) man page.
Host *
ForwardAgent no
ForwardX11 no
PasswordAuthentication yes
HostbasedAuthentication no
GSSAPIAuthentication no
GSSAPIDelegateCredentials no
BatchMode no
CheckHostIP yes
AddressFamily any
ConnectTimeout 0
StrictHostKeyChecking ask
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/id_ecdsa
IdentityFile ~/.ssh/id_ed25519
Port 22
Protocol 2
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes256-cbc,aes192-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com
EscapeChar ~
Tunnel no
TunnelDevice any:any
PermitLocalCommand no
VisualHostKey no
ProxyCommand ssh -q -W %h:%p gateway.example.com
RekeyLimit 1G 1h
Added by git-extra
Ciphers +aes128-cbc,3des-cbc,aes256-cbc,aes192-cbc
在最后加上:
Host github.com
User YourEmail@qq.com
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
注意 User为你登录github的账号名称。
再次执行 ssh -T git@github.com 时,会出现提示如下,回车”yes”即可。
GitHub 主页介绍及修改个人信息
标注 1:View profile and more,更多选项视图; 标注 2:Your profile,个人简介。 如上图所在,我们依次点击 标注 1 所示的View profile and more和 标注 2 所示的Your profile,进入「个人简介」界面:
标注 1:Edit profile,修改个人简介; 标注 2:Overview,个人主页概览; 标注 3:Repositories,仓库; 标注 4:Star,点星记录; 标注 5:Followers,粉丝; 标注 6:Following,关注的 GitHub 账号; 标注 7:个人贡献历史记录。 如上图所示,标注 1 表示的为Edit profile,这个选项当我们修改完个人信息之后,就会自动消失;标注 2 表示的为Overview,展示了我们账号的主要内容,包括仓库和贡献等;标记 3 表示的为Repositories,是我们建立的仓库,包括Fork来的项目,GitHub 也会自动为我们创建一个仓库;标注 4 表示为Star,收藏了我们的“点星”,或者说是“点赞”过的项目;标注 7 表示的为我们最近一年来的contribution,用实心的小方格标记,小方格的颜色越深,表示我们的contribution越多。在这里,我们点击Edit profile,编辑个人简历:
如上图所示,我们可以通过这个界面填写个人信息,包括 Name(昵称)、Bio(自我介绍)、URL(链接)、Company(公司)、Location(位置)以及 Upload new picture(上传头像)等等。在我们填写完个人信息之后,可以点击Update profile更新个人简介,同时可以勾选Available for hire,选择“雇主可见”,然后点击Save jobs profile,保存我们的求职简历。
此外,在Personal settings中,还包含很多其他的选择,如在Account中,可以修改账号密码;在Emails中,可以修改绑定的邮箱等等。在这里,用红色框圈起的SSH and GPG keys非常重要,我们可以通过它连接到本地的 IDE,从而保证项目提交与检出的安全性。
然后将项目分享跟Github
输入账号密码:
点击 Share Project on GitHub 后打开下图所示面板,输入想要上传到哪个仓库,这里注意,不能与 GitHub 已有仓库重名,因为这步操作会在GitHub创建一个新的仓库。
点击 Share 按钮后,可以立即在后续弹窗中将代码提交到 GitHub 仓库。也可以以后自己单独提交。
如下图所示,为Git相关操作,Commit,Push,Pull 等。这里不对这些操作的作用做相关说明。
红色方框框出来的两处,Commit 都可以打开 Commit 面板,Update 和 Pull 都可以从远程仓库更新代码。
点击 Commit 后,出现如下图所示窗口,1处显示的为有改动的文件,2处填写这次 Commit 的备注,3处可以选择只 Commit 还是 Commit and Push 。等 Push 完成之后,我们再去 GitHub,就可以看到刚才提交的代码了。
如何把本地修改的文件先放到本地库中再从本地库中去除
注意:这里如果我们是新创建的文件,首先需要点击如下图所示Add,才能进行 Commit 。
如果是新增文件夹,一定要把文件夹git add进去,光add文件也不行.
push完成,远程github服务器更新了
删除已有仓库
通过GitHub教程(一)的阅读,我相信您对GitHub体系框架已经有了模模糊糊的了解。本节教程将继续介绍GitHub的操作—删除仓库。
作为GitHub的入门使用者,我们可能会建一些简单的仓库来学习Git操作。毫无疑问,这些简单的仓库没有任何的实用价值,因此有时候我们会选择删除这些没有项目意义的仓库。
本文就如何删除GitHub上已经创建的仓库,给出图示步骤。
输入您的项目名称:
看完删除GitHub已有仓库的教程后,你有什么感想呢?
再看看最后一幅图,是否觉得作者十分用心,居然用红色标注"Danger Zone"部分。这样做的好处:一是能帮助使用者快速定位删除仓库功能为止;二是在删除仓库前警告使用者,使之明白这块区域操作的"危险性",让操作者三思而后行。
查看分支 更新代码到Github 下载Github 到本地
push完成,远程github服务器更新了
相当于git log这个指令
compare with 也是和最近一次线上版本进行比较,compare with branch是和分支上的代码进行比较. show current revision 可以查看此次文件提交的版本号
竟然能够回退上2个版本,服务器上的没删,本地的回退了2个版本。那就要能够返回到最近那个版本。如何操作呢
另外由于回退到上2个版本了,黄色卡片(head)现在指向的是springbootdemo测试git和github,所以这个head就是一个版本的index下标
这个版本号也没必要写全,git是模糊搜索的,不写全可能会搜索出多个版本,你在选择其中一个版本即可
如果想把远程master分支上的TestDemo2也删除掉,先本地删除后,再commit changes到master分支,就可以删掉master分支上的TestDemo2
commit之后只是放到了暂存区,然后还需要push之后才能更新master分支的版本库,删除testdemo2
从Github克隆项目方法:
打开webstrom,按照如图操作
选择后输入,点击clone
再继续点击
建议点击new window
此时,我们可以看到左上角出现了这个项目
新建一个文件,勾选要提交到git上面的index.html,点击ok
键入描述,然后点击commit and push
继续点击push
看到如下结果即表示push成功
7、刷新github页面,可以看到刚刚新增的文件
8、操作完毕
在使用idea操作git的时候update project是启动什么作用?
merge :就是git的合并代码。远程代码在你push之前已经被修改了。就需要先merge。如果没有冲突,就自动合并修改,否则需要逐一合并 rebase:拉下来的代码有冲突,但是不会自动合并。需要你手动合并
第三个branch default我没用过了
using stash:在更新前先清除stashGit最全操作流程,抓紧收藏吧朋友,真实用