概述
描述:
本篇博文对基础小白非常友好 目录如下
目录
???? 一、Git简介及安装使用
⭐️1.1、Git的历史
⭐️1.2、Git和SVN的对比
⭐️1.3、Git的安装步骤
⭐️1.4、向本地仓库中添加文件
⭐️1.5、修改文件内容并提交
⭐️1.6、删除本地仓库中的文件
⭐️1.7、TortoiseGit安装后,文件上不出现对号、问号或是其他什么图标
⭐️1.8、将Java工程添加到本地版本库
⭐️1.9、创建本地版本库
????二、连接远程仓库
⭐️2.1、使用github创建一个远程仓库
⭐️2.2、推送到远程仓库介绍
????2.3、创建ssh密钥及在github上配置公钥
⭐️2.4、使用ssh方式将本地仓库推送到远程
⭐️2.5、使用http方式将本地仓库推送到远程
⭐️2.6、推送修改的文件及冲突解决
????三、Git分支
⭐️3.1、搭建私有git服务器
⭐️3.2、使用私有服务器上传下载代码
⭐️3.3、分支概念说明
⭐️3.4、使用Idea将工程添加到本地仓库
⭐️3.5、使用Idea克隆仓库并同步代码
⭐️3.6、在Idea中使用git的分支
????四、git不显示绿色 红色 只显示添加的图标
????五、设置私钥
????六、重装系统之后的Git安装
???? 一、Git简介及安装使用
⭐️1.1、Git的历史
同生活中的许多伟大事件一样,Git诞生于一个极富纷争大举创新的年代,Linux内核开源项目有着为数众多的参与者,绝大数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2022年间)。到2022年,整个项目组开始启动分布式版本控制系统BitKeeper来管理和维护代码
到2005年的时候,开发 BitKeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了免费使用BitKeeper的权力。这就迫使Linux开源社区(特别是 Linux的缔造者Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许上千个并行开发的分支)
- 完全分布式
- 有能力高效管理雷类似Linux内核一样的超大规模项目(速度和数据量)
⭐️1.2、Git和SVN的对比
SVN
集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。
但是相较于其他优点而言,集中式版本控制工具缺点很明显
- 服务器单点故障
- 容错性差
Git
Git常用命令流程图
⭐️1.3、Git的安装步骤
软件下载地址:https://git-scm.com/download
安装步骤
直接闭着眼睛下一步 友情提示 如果有强迫症的可以适当更改一下安装路径
安装Git小乌龟
一直下一步 需要配置姓名 邮箱
Git && 小乌龟 安装之后 桌面右键鼠标样式如下图
然后安装汉化包
==友情提示:== 如果在桌面打不开设置 可以去文件夹打开设置 进行中文的设置
⭐️1.4、向本地仓库中添加文件
Git文件练习
鼠标右键Git Bash Here 输入命令 git init 即可创建第一个Git文件
新建hello.txt文件 鼠标右键点击添加 提交
⭐️1.5、修改文件内容并提交
版本库浏览器
查看日志信息
⭐️1.6、删除本地仓库中的文件
版本库浏览器
⭐️1.7、TortoiseGit安装后,文件上不出现对号、问号或是其他什么图标
问题:TortoiseGit安装后,文件上不出现对号、问号或是其他什么图标
解决办法:
第一、打开注册表
开始--搜索【所有文件下的那个输入框】---输入regedit--打开注册表
根据这个顺序 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers
找到ShellIconOverlayIdentifiers,看看TortoiseGit的相关文件【见下图】是不是排在最前面的。如果是,就不用修改了
第二、直接启动任务管理器
找到里面的explorer.exe进程,直接结束进程,重启电脑,就可以看到图标了。
删除区别
- 第一个删除的话就是在本地删除之后 需要提交一下 暂存区才没有 本地也会删除
- 第二个删除就是把暂存区删除 然后本地保留
第一种删除
第二种删除
第三种删除
注意:也不可还原
⭐️1.8、将Java工程添加到本地版本库
思路: 1.首先准备一个正常的idea项目工程模拟场景 2.将所有的文件 add添加到暂存区 【不要提交】 3.将.idea out或者target文件清理忽略【仅暂存区】 4.提交一个.giitone文件即可 5.直接当前文件目录 ctrl + A 提交即可 5.版本库浏览
⭐️1.9、创建本地版本库
图形界面化——1
命令行——2
小乌龟——3
不要选中
????二、连接远程仓库
⭐️2.1、使用github创建一个远程仓库
首先你得在github上创建一个账号 这个就不演示了,然后再github上创建一个仓库
http://github.com/
1.注册
github上创建项目 一般情况下是public开源的 如果选择private私有的 违背开源精神 就需要一个月7美元付费使用
如何删除github项目
http://www.jianshu.com/p/16ff5483f97f
⭐️2.2、推送到远程仓库介绍
ssh协议
什么是ssh
SSH为 Secure Shell(安全外壳协议)的缩写,由IETF 的网络小组(Network Working Group)所制定。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH 协议可以有效防止远程管理过程中的信息泄露问题。
基于秘钥的安全验证
使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge〉并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
????2.3、创建ssh密钥及在github上配置公钥
推送远程仓库 先生成密钥对
dell@DESKTOP-96M0AUS MINGW64 /d/zhuomian/gitgit/WorkSpace/repo1 (master) # $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/dell/.ssh/id_rsa): /c/Users/dell/.ssh/id_rsa already exists. # Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/dell/.ssh/id_rsa Your public key has been saved in /c/Users/dell/.ssh/id_rsa.pub The key fingerprint is: SHA256:fsPw1exU0ow5Xa/dBvU4pTSdqESikaoBWD5FOJQtBMY dell@DESKTOP-96M0AUS The key's randomart image is: +---[RSA 3072]----+ |+*+=o ..... +.=| |oE=.. .o .. o &=| | +o .. . . X B| | o . . o O.| | o S . = +| | . . + . o . | | . = . | | . . | | | +----[SHA256]-----+ dell@DESKTOP-96M0AUS MINGW64 /d/zhuomian/gitgit/WorkSpace/repo1 (master) $
C:Usersdell.ssh
在github把公钥放进入
⭐️2.4、使用ssh方式将本地仓库推送到远程
- 使用黑屏命令把本地仓库的内容推送到远程仓库
- 和远程仓库建立连接 建立了之后就可以把本地仓库的内容推送到远程仓库
dell@DESKTOP-96M0AUS MINGW64 /d/zhuomian/gitgit/WorkSpace/repo1 (master) # $ git remote add origin git@github.com:wang163bu/repo1.git dell@DESKTOP-96M0AUS MINGW64 /d/zhuomian/gitgit/WorkSpace/repo1 (master) # $ git push -u origin master The authenticity of host 'github.com (20.205.243.166)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])?# yes Warning: Permanently added 'github.com,20.205.243.166' (RSA) to the list of known hosts. Enumerating objects: 51, done. Counting objects: 100% (51/51), done. Delta compression using up to 8 threads Compressing objects: 100% (39/39), done. Writing objects: 100% (51/51), 221.39 KiB | 4.02 MiB/s, done. Total 51 (delta 8), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (8/8), done. To github.com:wang163bu/repo1.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'. dell@DESKTOP-96M0AUS MINGW64 /d/zhuomian/gitgit/WorkSpace/repo1 (master) $
使用小乌龟 把本地仓库的内容推送到远程仓库
1.在准备一个新的仓库 2.使用小乌龟 右键同步
1.origin 2.需要推送github仓库的ssh的链接 3.将自己c盘下的密钥 文件路径访问到
如此 github中本地文件推送成功
⭐️2.5、使用http方式将本地仓库推送到远程
⭐️2.6、推送修改的文件及冲突解决
1.修改代码需要推送到远程 2.然后在拉取 从远程仓库拉取到本地 3.在推送和拉取的过程中一定会出现冲突问题 4.出现冲突的时候 可以进入文档手动解决冲突 5.冲突解决之后 右键小乌龟 点击“解决冲突” 6.然后再次推送即可 为什么会有冲突 简单来说就是A B C程序员一起开发一个项目 A把写好的代码上传到远程仓库之后 B不知道 B自己写好的代码也想提交到远程仓库 但是这个时候本地仓库的代码不是最新的 不是A上传的新的版本代码 那我们应该拉取远程仓库的代码 但是A 和 B一起修改了一个controller文件代码 在拉取的过程中就会出现冲突
然后 提交 推送到远程仓库
gethub And gitee 公钥通用!!!!奈斯
然后通过ssh上传拉取代码秒秒秒的事情呀 真的一点都不麻烦 牛牛牛 冲!
????三、Git分支
⭐️3.1、搭建私有git服务器
远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub,就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GtHub.交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
搭建Git服务器需要准备一台运行Linux 的机器,在此我们使用CentOS。以下为安装步骤: 搭建Git服务器需要准备一台运行linux的机器,在此我们使用CentOS。以下为安装步骤:
[root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]# history 695 yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc 696 ll 700 tar zxf git-2.5.0.tar.gz 701 ll 702 cd git-2.5.0 703 ll 704 autoconf # 这个地方 第一次是出现错误了 解决"-bash: make: command not found"安装提示错误 705 yum -y install gcc automake autoconf libtool make 706 autoconf 707 ./configure 708 make 709 make install # 这个地方也是出现错误 需要安装一个命令 # [zhujiang@localhost git-2.5.2]$ make # SUBDIR perl /usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE='' --# localedir='/usr/share/locale' # Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 # /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl # # # /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3. # BEGIN failed--compilation aborted at Makefile.PL line 3. # make[1]: *** [perl.mak] Error 2 # make: *** [perl/perl.mak] Error 2 710 sudo yum install perl-ExtUtils-MakeMaker 711 make install 再次命令安装install 712 git --version [root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]#
添加用户
[root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]# adduser -r -c 'git version control' -d /home/git -m git 添加名字为git的用户 [root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]# passwd git 设置密码也是git Changing password for user git. New password: # 输入密码 BAD PASSWORD: The password is shorter than 8 characters #提示密码太简单 请确认 Retype new password: # 再次输入密码 passwd: all authentication tokens updated successfully.# 设置密码成功 [root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]#
[root@iZ8vb8jcwrgmyeius9dd1uZ git-2.5.0]# cd /home/ 进入到home目录 [root@iZ8vb8jcwrgmyeius9dd1uZ home]# ll 查看 total 4 drwx------ 2 git git 4096 Oct 1 11:40 git [root@iZ8vb8jcwrgmyeius9dd1uZ home]# su git 切换到git用户上 [git@iZ8vb8jcwrgmyeius9dd1uZ home]$ whoami 当前是哪个用户 git [git@iZ8vb8jcwrgmyeius9dd1uZ home]$ cd ~ bash: cd~: command not found [git@iZ8vb8jcwrgmyeius9dd1uZ home]$ cd ~ 跳转到git用户的home下面 # ~这个~是中文状态下shift [git@iZ8vb8jcwrgmyeius9dd1uZ ~]$ pwd 打印当前目录 /home/git [git@iZ8vb8jcwrgmyeius9dd1uZ ~]$ ll 查看 total 0 [git@iZ8vb8jcwrgmyeius9dd1uZ ~]$ mkdir repo1 新建repo1文件夹 [git@iZ8vb8jcwrgmyeius9dd1uZ ~]$ cd repo1/ 进入到repo1文件 [git@iZ8vb8jcwrgmyeius9dd1uZ repo1]$ git init --bare 初始化一个纯版本 不带工作空间的本地仓库 # 服务端的操作基本都是纯版本库 没有工作目录的 Initialized empty Git repository in /home/git/repo1/ [git@iZ8vb8jcwrgmyeius9dd1uZ repo1]$ ll # 服务器的本地仓库创建好了 total 32 drwxrwxr-x 2 git git 4096 Oct 1 11:50 branches -rw-rw-r-- 1 git git 66 Oct 1 11:50 config -rw-rw-r-- 1 git git 73 Oct 1 11:50 description -rw-rw-r-- 1 git git 23 Oct 1 11:50 HEAD drwxrwxr-x 2 git git 4096 Oct 1 11:50 hooks drwxrwxr-x 2 git git 4096 Oct 1 11:50 info drwxrwxr-x 4 git git 4096 Oct 1 11:50 objects drwxrwxr-x 4 git git 4096 Oct 1 11:50 refs [git@iZ8vb8jcwrgmyeius9dd1uZ repo1]$
⭐️3.2、使用私有服务器上传下载代码
把本地仓库推送到远程仓库
⭐️3.3、分支概念说明
在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即 master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
一开始的时候, master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
⭐️3.4、使用Idea将工程添加到本地仓库
首先创建一个javaEE工程
配置git路径
1.先创建本地仓库
在添加的时候 选择当前项目的上一级目录
拉取代码更新工程
提交代码 工程有修改提交到本地仓库
2.提交到远程仓库
选择好需要添加的项目文件之后
直接点击commit 成功之后 会在左下角出现绿色提示
⭐️3.5、使用Idea克隆仓库并同步代码
现在是把代码放到本地仓库中 但是如果我们想和别人合作开发代码 需要把代码放到远程仓库
http://gitee.com/wang_xiaoge/test-items.git
复制gitee中的http连接http://gitee.com/wang_xiaoge/test-items.git
push to origin/master was rejected错误解决方案
push to origin/master was rejected错误解决方案 - 知乎
git不是内部或外部命令,也不是可运行的程序 或批处理文件。
git不是内部或外部命令,也不是可运行的程序 或批处理文件。_九月木樨的博客-CSDN博客_git不是
找到当前所在的文件夹 打开git中的Git Bash Here
git pull git pull origin master git pull origin master --allow-unrelated-histories 3.在idea中重新push自己的项目,成功!
从gitee上把项目克隆到idea中
将远程仓库中修改的代码拉取到本地
拉取远程仓库的代码 No tracked branch configured for branch master or the branch doesn't exist.
androidstudio git拉去项目No tracked branch configured for branch master or the branch doesn‘t exist._Ang_qq_252390816的博客-CSDN博客
⭐️3.6、在Idea中使用git的分支
创建分支
????四、git不显示绿色 红色 只显示添加的图标
关于设置了 没有显示的 重启
????五、设置私钥
步骤
打开终端(git)进入.ssh目录 输入 cd ~/.ssh
如果.ssh文件夹不存在,执行指令自动创建 mkdir ~/.ssh
(我已经创建了,所以不用使用这个命令)
生成RSA密钥对
ssh-keygen -t rsa -C "你的邮箱@xxx.com"
查看公钥内容
cat ~/.ssh/id_rsa.pub
将公钥内容(全部)复制并粘贴(注意:公钥内容以ssh-rsa开头)
粘贴地址 https://gitee.com/profile/sshkeys
添加公钥完成后进行测试公钥(测试SSH链接)
- ssh -T git@gitee.com
-
当终端提示welcome to Gitee.com,yourname!表示链接成功
至此以后只要拷贝ssh链接地址,然后利用git指令即可进行相关操作!
????六、重装系统之后的Git安装
- 安装git
- 安装小乌龟
- 三、设置中文
- 四、查看Git图标是否则正常显示 (如果不显示 安装好之后 重启即可)
- 五、设置密钥 测试Git是否能够正常提交Gitee
最后
以上就是威武大门为你收集整理的Git总结 (比较全)???? 一、Git简介及安装使用????二、连接远程仓库????三、Git分支????四、git不显示绿色 红色 只显示添加的图标????五、设置私钥????六、重装系统之后的Git安装的全部内容,希望文章能够帮你解决Git总结 (比较全)???? 一、Git简介及安装使用????二、连接远程仓库????三、Git分支????四、git不显示绿色 红色 只显示添加的图标????五、设置私钥????六、重装系统之后的Git安装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复