一、安装git
官网 git-scm.com/downloads 下载git客户端,本地安装。
安装步骤略。
二、配置ssh公钥
2.1 进入SSH目录:cd ~/.ssh
(1).如果还没有 ~/.ssh 目录,可以手工创建一个(mkdir ~/.ssh),之后再通过cd ~/.ssh进入SSH目录
(2).可以通过ls -l命令查看SSH目录下的文件,来确认你是否已经生成过SSH密钥;如果SSH目录为空,我们开始第二步,生成 SSH 密钥;如果存在id_rsa.pub这个文件,说明你之前生成过SSH密钥,如何添加多个sshkey也不难,一般很少用,这里不介绍了。
2.2 生成SSH密钥
通过下面的命令生成密钥:(""里的是注册gitlab是配置的邮箱)
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"
注:Enter passphrase (empty for no passphrase) :时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。实践过程中,建议直接回车。公钥默认地址:C:\Users\用户.ssh 。
连接git服务器生成可信任文件known_hosts,否则会报:Push failed: Failed with error: fatal: Could not read from remote repository。
2.3 获取SSH公钥信息
SSH密钥生成结束后,根据提示信息找到SSH目录,会看到私钥id_rsa和公钥id_rsa.pub这两个文件,不要把私钥文件id_rsa的信息透露给任何人。我们可以通过cat命令或文本编辑器来查看id_rsa.pub公钥信息。
(1).通过cat命令:cat id_rsa.pub
(2).通过直接使用命令将id_rsa.pub文件里的内容复制到剪切板中
Windows: clip < ~/.ssh/id_rsa.pub
Mac: pbcopy < ~/.ssh/id_rsa.pub
GNU/Linux (requires xclip): clip < ~/.ssh/id_rsa.pub
2.4 添加SSH公钥到gitlab
打开gitlab的Profile配置页面,选择SSH Keys,如图:
AddKey 保存公钥完毕。
2.5 设置下git的用户名和邮箱
在提交代码前,还需要设置下git的用户名和邮箱(最好用英文,不要出现中文),这样提交记录才会在gitlab上显示带有你名字的记录。
在命令行窗口输入(windows需要安装打开Git Bash工具才行,安装git之后,鼠标右键git bash打开命令行窗口):
git config --global user.name"usernam"
git config --global user.email "youremail"
配置完成,现在可以使用git管理代码了。
三、导入项目
3.1 导新项目到gitlab上
如果项目存在,需要导入到gitlab,可以通过命令行直接将项目导入上去。
cd "本地存在项目的路径"
git init
git add .
git commit -m”说明”
git remote add origin git@172.16.5.208:zhangyi/testgit.git
git push -u origin master
3.2 导入项目到本地
git clone "你的项目地址"
3.3 重定向git地址
git remote set-url origin git@192.168.64.50:java/iad-boot.git
四、git提交代码基本操作
git status
git add .
git commit -m"说明不能为空"
git pull --rebase //(重点注意:提交代码之前,一定要先更新他人的代码,防止冲掉别人的代码。)
git status
(有冲突,在开发工具或其他编辑器里解决冲突
git add .
git rebase --continue
git status)
没有冲突后执行git push origin feature
git status
4.1
//进入你要操作的目录,跟Linux环境一样
git status ./
//查看这个文件夹下的文件状态,会列出有哪些没有加入追踪,哪些没有commit
git add ./*
//把这个文件下的所有应该加入追踪的,加入到暂存区
git commit -m "日志描述" ./
//把这个文件夹下可以commit的,都commit到本地库
git push
//push到远程库
五、时光穿梭
5.1 版本回退
git log //查看提交历史
git log --pretty=oneline //查看简洁版提交历史
git reset --hard HEAD^ //回退到当前版本前一个版本
git reset --hard HEAD^^//回退到前两个版本
git reset --hard commitid) //回退到指定版本
当版本回退之后,执行git log 再看时,之前回退前最新的版本已经看不到了,现在又想回到之前最新的版本怎么办。只要上面的命令窗口没有关掉,找上面的纪录,找到git log --pretty=oneline命令下的版本号,就可以回到最新的那个版本了。如果窗口已经关闭,可以执行git reflog查看命令历史。
5.2 撤销修改
1.没有git add . 之前撤销修改的内容
git checkout -- 文件名
2.执行git add . 之后:
git reset HEAD 文件名 //撤销暂存区的修改
git checkout -- 文件名 //撤回到没修改之前
3.执行commit之后,通过版本回退撤回到之前的版本即可,前提是未push到远程
六、分支
//新建分支
git branch 分支名
//本地分支关联远程分支
git branch --set-upstream feature origin/feature
//切换到分支
git checkout 分支名
注:切换分支时,M 表示原来分支(上一次修改没有提交)带过来的修改
//查看本地分支
git branch
//查看远程分支
git branch --r
//查看所有分支
git branch -a
//分支合并
git merge 分支名
//(合并时,git status 检查是否冲突,解决冲突 git add 、git commit)
//删除本地分支
git branch -d 分支名
git branch -D 分支名 强制删除
//拉取远程分支并创建本地分支
git fetch origin 远程分支名
git checkout -b 本地分支名 origin/远程分支名
//推送分支到远程
git push origin 分支名
//删除远程分支
git push origin :分支名
//查看本地分支与远程分支的对应关系
git branch -vv