git clone之前需要做的工作:
1.首先在git bash中执行如下命令,获取一个ssh:
ssh-keygen -t rsa -C 'xxx@163.com'
再执行vi ~/.ssh/id_rsa.pub
复制下生成的key
2.浏览器打开gitLab:
左下角点击个人头像,进入我的页面,找到edit profile settings
点击左侧导航栏SSH keys
输入刚才复制的key
保存即可。
(至于为什么需要设置ssh key,由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。)
3.设置下ip和port
提交过程中,ssh的port错误;因为github默认ssh port为22,如果服务器的ssh port修改了,则需要重新设置一下本地的ssh port端口
修改方法,修改当前用户的home下的.ssh/config文件
vim ~/.ssh/config
host 1xx.xx.xxx.xxx
port xxxx
克隆工程
git clone git地址
克隆分支
git clone -b 分支名 git地址
克隆工程之后的一些操作
IDEA上安装git ignore插件:
可在https://download.csdn.net/download/recotone/10307149下载插件
可在https://blog.csdn.net/qq_34590097/article/details/56284935采用planB进行设置。
创建分支
git checkout -b 分支名
提交分支到远程:
git push origin 分支名
删除分支
(1)删除本地分支:
git branch -d 分支名
(2)删除本地的远程分支:
git branch -r -d origin/分支名
(3)远程删除git服务器上的分支:
git push origin -d 分支名
理解工作区、暂存区 & git commit -m 和-am的区别?
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
git的文件状态变化周期
工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区
git add命令是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等
我们需要用git add命令来跟踪新文件,但如果使用git commit -am可以省略使用git add命令将已跟踪文件放到暂存区的功能
通常我们提交git的时候都是
git add .
git commit -m "some str"
git push
这三大步,而实际上,你只需要两条命令就够了,除非有新的文件要被添加进去。
git commit -am "some str"
git push
查看提交历史
git log 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。看到了吗,每次更新都有一个 SHA-1 校验和、作者的名字 和 电子邮件地址、提交时间,最后缩进一个段落显示提交说明。
6.Git之忽略文件(ignore file)
编辑.gitignore文件:
.idea
.gitignore
*.class
*.log
*.iml
**/target/
.gitignore忽略多层文件夹用**
**/bin/Debug/
前面的两个*号代表任意多层上级文件夹
需要 git 1.8.2 及其以上的版本才支持
分支代码提交到远程分支
IDEA中右键提交的文件。git commit即可
commit之后需要push,这样才能提交到远程分支上:
点push即可。
合并分支到master
(1) 切换到主干分支:git checkout master,不是最新的,就从远程pull下
(2) 合并分支到master : git merge 分支名
(3) 如果有冲突的话,解决冲突
(4)push代码到远程
完成
打tag
(1) 本地打tag: git tag -a tag名字 -m '一些备注的话'
(2)push到远程: git push origin tag名字
完成
查看tag: git tag
在历史commit上打tag:
git tag -a tag名字 24d57201669f30fd4dd79d56e0d21ddcecf4d17b -m '备注'