五、新建远程仓库
1、Gitee上的操作
(1)点击新建仓库
(2)新建仓库的配置
按下面配置即可,开源许可证可自行百度,这里不过多说明
(3)查看刚刚所创建的仓库
2、Github上的操作
(1)点击新建仓库,New repository
(2)新建仓库的配置
(3)查看刚刚所创建的仓库
六、将远程仓库克隆到本地
1、使用Https的方式克隆仓库
(1)复制克隆地址
(2) 在Bash里进行克隆
git clone 刚刚复制的链接
这时候要输入你的用户名和密码了(码云的用户名和密码)
(3)错误解决
由于本人在第一次SSH输入验证的时候不小心输错了用户名和密码,然后就报了如下的错误:
解决方案:控制面板-->用户账户-->管理你的凭据
Windows凭据-->普通凭据-->编辑普通凭据-->修改密码(码云的账户名和密码)-->保存
重置密码后,输入以下密令,重新输入用户名和密码
git config --system --unset credential.helper
2、使用SSH的方式克隆仓库
(1)复制克隆地址
(2) 在Bash里进行克隆,无需输入密码
git clone git@gitee.com:poly-ma/mystudy.git
会出现Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes就行
3、克隆结果
七、将本地仓库上传至远程仓库
1、第一种方式提交
(1)在码云上创建一个远程的仓库,我给这个仓库取名为“hello”
(2)创建一个本地的仓库,并初始化本地仓库
#初始化仓库 git init
(3)用命令行创建一个文件hello.java,并输入相关内容
#创建一个java文件,并随便输入一些内容,比如说:hello,world! $ cat >hello.java hello,world!
(4)将本地仓库和远程仓库连接起来,使用SSH连接,采用HTTPS连接需要输入账户名和密码
git remote add origin "SSH链接"
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
(5) 将项目的所有文件添加至暂存区,并提交至本地仓库
git add . git commit -m "first commit"
(6)远程仓库有的文件不在本地代码目录里,合并本地仓库和远程仓库
git pull --rebase origin master
(7) 将文件提交至远程仓库
git push origin master
注1:上面命令表示,将当前分支推送到origin主机的对应分支master。 git push -u origin master 命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
注2:如果不进行第六步合并本地仓库和远程仓库,直接提交的话,会出现下述错误
(8)查看上传结果
2、第二种方式提交
(1)在码云上创建一个远程的仓库,我给这个仓库取名为“mystudy”
(2)克隆这个远程仓库,采用SSH的方式克隆
git clone "SSH的链接"
(3)把项目放进这个克隆到本地的仓库里
(4)提交至远程仓库
1. git add . 2. git commit -m "new html file" 3. git push
(5) 查看提交结果
3、查看提交历史
(1)查看历史提交记录
在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。
git log
(2)以列表的形式查看指定文件的历史修改记录(文件名不用打引号)
git blame 文件名
八、Git分支
几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。而且当初始化Git仓库的时候,Git会默认创建一个名为master的主分支(它是必须要有的分支)。在Git中,分支只是一个指向单个commit的指针,Git为我们创建分支可以说就是创建了一个可以移动的新指针。在比较大的公司里,可能会面临多人协同开发的场面,这时候Git分支就可以防止互相干扰,提高协同开发的效率。
1、列出当前分支
当branch 后面不带具体参数时,下列命令会列出当前本地的分支
git branch
从上图可以看出,当前本地只有一个叫master的分支。事实上在我们执行git init初始化仓库的时候,Git就会默认为你创建一个master分支(一般来说,master分支必须得有)。
2、列出远程分支
git branch -r
master: 代表本地的某个分支名
origin master:代表着两个概念,前面的 origin 代表远程名,后面的 master 代表远程分支名
origin/master: 只代表一个概念,即远程分支名,是从远程拉取代码后在本地建立的一份拷贝
3、创建一个新分支
(1)当我们要创建一个新的分支时,直接git branch+分支名即可
#创建了一个开发用的新分支,名字叫dev git branch dev #创建了一个测试分支 git branch test
(2) 查看当前存在的分支
git branch
从上图可以看见,除了默认的master分支外,还有我们新创建的dev和test分支
4、切换分支
(1)切换到我们要修改的分支
#创建test.txt文件,输入内容hello,world echo "hello,word" > test.txt #将文件添加进暂存区 git add . #将文件提交至本地仓库 git commit -m 'add test.txt'
用“ls”查看当前分支(master分支)的文件
用git checkout (分支名) 切换我们需要修改的分支
git checkout test
再用“ls”查看当前分支(test分支)的文件
当我们切换到test分支或者dev分支的时候,新添加的文件test.txt被移除了。当切换回主分支时,文件又重新出现了。
(2) 新建一个分支并切换到该分支下
表示创建了一个新分支v1,这里的v1表示分支名字,并切换到该分支下
git checkout -b v1
查看当前分支(v1分支),并在该分支下进行删除操作
#在当前分支下删除文件test.txt git rm test.txt
用touch命令在该分支下新建一个文件,并进行下列操作
#新建一个login.html文件 touch login.html #查看当前分支下的文件 ls #将文件添加进暂存区 git add . #将暂存区的文件提交至本地仓库 git commit -m 'removed test.txt、add login.html' #查看当前分支下的文件 ls #切换回主分支 git checkout master #查看主分支下的文件 ls
我们可以发现,在v1分支下,我们看不见删除的test.txt文件,但可以看见新创建的login.html文件;切换回主分支时,删除的文件回来了,但新增加的文件不存在于主分支中了。就好比多个版本的发布,一般开发都会保留修改之前的版本。上一个版本出现bug了,创建一个分支并在当前分支下去修改一些内容,而不是在原始版本上直接修改。可以把master分支看作初始版本,v1版本是修复版本。利用切换分支机制,可以将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换。
5、合并分支
假如我们在当前分支上刚开发完一个项目,这个分支有了独立的内容,我们便会想让这个分支合并到主分支里。
git merge v1
将v1分支合并到主分支上,再用ls命令查看,可以看见之前删除的test.txt文件不见了,出现了新文件login.html
6、删除分支
(1)将v1分支合并完就可以将其删除了
git branch -d v1
(2) 再次查看当前分支,发现v1分支被删除
git branch
7、其它分支命令
#更新远程分支列表,如果你的remote branch不是在origin下,按你得把origin换成你的名字 git remote update origin --prune #删除远程分支 git push origin --delete 远程分支名 #查看所有分支,包括本地和远程的 git branch -a
九、IDEA集成Git
1、第一种方式提交
(1)绑定Git
将刚刚克隆的远程仓库文件复制到我们的项目目录下即可
(2)查看IDEA是否绑定
打开IDEA查看项目是否已经绑定Git成功,会出现三种图标,第一个是“Update Project”,更新项目;第二个是“Commit”提交;第三个是“Push”,上传至远程仓库。
(3)提交项目
点击绿色的√(commit),先勾选要提交的项目,可以看见右侧绿字显示添加的数量,再添加message描述(这个一定要添加),然后再commit提交至本地仓库
(4)从本地仓库提交至远程仓库,点击绿色箭头push
(5)查看提交结果
2、使用命令行提交
使用IDEA Terminal 命令行实现项目上传至远程仓库(不推荐使用)
#将项目的所有文件添加至缓存区 git add . #将缓存区的文件提交至本地仓库 git commit -m "new file update map2.html" #将本地的仓库上传至远程仓库 git push
3、第三种方式提交
(1)使用IDEA完成本地库的初始化操作
在IDEA导航栏里找到VCS,然后选择Create Git Repository,可以看见项目目录里多了一个.git文件,IDEA上面也多了几个图标,均表示本地库初始化完成了
(2) 使用IDEA将文件添加至暂存区
创建文件以后就会提示是否需要Add操作,当点击了Add后就会变为绿色,说明添加到了暂存区,未点击add会显示红色。
将整个模块添加至暂存区,然后整个src目录下的文件均变成绿色了
(3) 将暂存区的文件提交至本地仓库(进行commit操作)
填写好描述信息(必填),点击commit提交至本地仓库
IDEA会显示提交的日志和修改的日志
(4)将本地仓库上传至远程仓库,点击绿色箭头就行(Push),然后添加远程仓库的地址(这里采用的是SSH地址),默认的远程仓库名为origin
上传至远程仓库的时候被系统拒绝push了
在push之前,一定要在控制台加上下面的命令来拉取远程仓库的文件,否者会被拒绝提交,因为本地仓库和远程仓库是两个不同的仓库,远程仓库中有的一些配置文件本地仓库没有。
git pull --rebase origin master
(5)上传结果
4、使用IDEA克隆远程仓库
(1)File-->new-->Project from Version Control
(2)填入要克隆的远程仓库的地址,选择一个空的文件夹放克隆下来的文件
(3)克隆成功
5、IDEA分支管理
(1)在IDEA的右下方有个分支管理,在这里可以进行新建分支、切换分支等操作。比如我在这里创建了一个dev的分支。
点击New Branch可以新建一个分支,自定义一个分支名即可
(2) 我将分支切换至dev,并修改文件重新提交至远程仓库,结果如下所示:
十、Git指令速查表