1、安装
安装包下载网址
https://github.com/git-for-windows/git/releases/download/v2.14.1.windows.1
/Git-2.14.1-64-bit.exe
可参照此链接进行安装 http://www.cnblogs.com/tuhooo/p/7497233.html
(建议安装在 C 盘)
点开安装包
点 next 之后
安装路径保持默认选项,然后继续下一步
点击下一步
提示你创建开始菜单,我们继续下一步
上图默认的是第二项,但是我改成了第一项,不想在 CMD 下使用 Git 命令。
继续下一步
继续下一步
下一步
下一步
安装完毕
2、如何生成 SSH 的 key
Git 安装成功之后,我们验证一下是否安装成功。
Win+R 打开 CMD 之后,输入 git
发现并没有 git 这个命令,这里我们要将 C:\Program Files\Git\bin 加入到环境变量
中,这一步的演示就省略了,环境变量设置之后,再试一次
发现 git 命令已经可以正常使用了。
从开始菜单打开 Git Bash 或者直接在桌面鼠标右键打开 Git Bash:
然后可以看到如下界面
生成 SSH 的 key
配置全局用户名和用户邮箱
git config --global user.name “username”
git config --global user.email “email address”
在 bash 命令行输入 ssh-****** -t rsa –C "email address"
输入完成之后回车,bash 命令行会提示 rsa key 保存的位置
3、gitlab 添加 ssh key
gitlab 网站上登陆管理员账号添加 ssh-key
根据安装目录找到.ssh 文件,并复制 id_rsa.pub 公钥文件的全部内容
使用管理员账号登陆到 gitlab 中,点击头像——>setting——>左侧侧边栏找
到 SSH Keys 并点击进去——>将刚才复制的公钥粘贴到输入框中并点击 Add key
按钮
添加成功之后会如下图显示
4、gitlab 远程拉项目和本地 push 到 gitlab
(首次拉项目和 push 项目都需要先和远程建立连接,第二次之后提交就不需要
了)常用命令网址 https://www.cnblogs.com/luweiwei/p/4866930.html
4.1 gitlab 远程拉项目
先新建一个文件夹用来放置拉取的项目,直接在新建的文件夹下右键,命令行就
直接进入该文件夹
git init //初始化.git 文件用于远程连接
git remote add origin xxx //建立远程连接
git pull origin master //从 gitlab 上面拉项目下来
如图成功拉取项目
4.2 本地 push 到 gitlab
git add */git add xxx.txt //添加所有文件/添加单个文件
git status // 查看文件状态
git commit –m ‘文件描述’ //存入暂存区
git push –u origin master //提交到 gitlab
提交单个文件演示:
刷新之后可以看到 gitlab 端已经出现了刚才上传的文件
5、分支管理(xxx 代表分支名)
5.1 命令介绍
为了防止和项目组其他人取得分支名字相同,可以先使用命令
git branch –a //查看当前所有的分支
git branch xxx //新建分支
git branch –d xxx //删除分支
删除之后发现 aaa 这个分支已经没有了
注意:命令行删除的分支都只是本地分支,删除分支需要在非被删除分支下进行操作,否
则会报错
git checkout xxx //切换分支
可以看到现在已经切换到新的分支上了
git merge xxx //合并分支(xxx 代表的要合并的本地分支)
注意:需要切换到 master 主分支下进行合并
git push //推送到远程分支上
5.2 从新建到合并分支的完整操作
1.在一个新的文件夹下进行操作,文件下没有.git 文件,需要 git init
2.与远程仓库建立连接,并拉取代码,拉取代码需要输入账号和密码
3.创建分支并切换到新建的分支
注意:此时新建分支还未同步到远程,所以在远程是看不到的
4.测试本地新建一个新的文件 test.txt,然后使用 git add 命令将该文件添加到暂存区,可以
通过 git status 命令查看文件状态,并通过 git commit –m ‘说明文档’,将文件添加到仓库分支
newdev
注意:此时添加到缓冲区是指的本地暂存区
5.将新增的文件 push 到 newdev 分支上,此时远程会新建出一个分支 newdev
6.切换成 master 主分支,进行合并分支,将提交到 newdev 分支的文件合并到 master 上
7.将自己本地分支的代码提交到远程自己的分支
git push --set-upstream origin dev
此时显示已经合并成功
8.在 gitlab 上将自己的分支添加到主分支中(创建合并请求)
若界面如图所示,则代表已经将自己分支的代码合并到了远程仓库的主分支上
5.3 合并时容易出现的错误
如下错误提示,代表账户名或者密码输入错误
6、图形界面化工具 tortoiseGit 的使用
6.1 安装:
1.官网下载需要的版本 https://tortoisegit.org/download/
2. 双击 TortoiseGit-2.5.0.0-64bit.msi 文件,启动安装界面,next,进入下一步
3. 继续 next,下一步
4. 基于 Putty,对 TortoiseGit 做了优化/Git 默认的 SSH 客户端,next,下一步
5. 选择安装目录,安装的程序组件保持默认即可,next,下一步
6. 点击 Install 按钮安装
7. 安装
安装完成,点击 Finish 按钮,
勾选的 Run first start wizard 是第一次运行启动向导
如果勾选,Finish 后会有弹窗出来设置 Git.exe 文件的路径,Git 账号、密码
8. 进入欢迎页面,直接下一步
9. 设置 git.exe 路径,下一步
10. 配置用户信息,下一步
11…权限保存,完成
12. 桌面,鼠标右键,可以看到已经有小乌龟了
6.2 使用
1.将远程仓库的代码克隆到本地
注意:单击确定之后需要输入账号和密码;出现如下图所示界面代表已经克隆成
功
2.提交新增的文件
出现如下图所示界面代表已经添加(add)成功
单击提交(commit),出现如下图所示界面代表已经提交成功
将提交的代码同步(git sync)到远程仓库
单击推送(push),输入账号密码,出现如下图所示界面代表同步成功
3.提交修改的文件
单击提交(commit),出现如下图所示代表已经提交成功
将提交的代码同步(git sync)到远程仓库
单击推送(push),出现如下图所示界面代表同步成功
4.删除单个文件
单击提交,出现如下图所示界面代表已经从本地仓库删除成功,需要将其同步(git
sync)到远程仓库
单击推送(push),提示 success 代表同步成功
5. 图形化界面分支操作
(1)新建分支(create branch)
(2)切换分支(switch/checkout)
单击确定,出现如下界面代表切换成功
(3)在自己的分支下操作文件
在当前分支下操作代码,操作完毕之后,需要将自己分支下的代码同步到远程仓
库的主分支,具体操作如下
首先 commit 到自己的分支,界面如下:
代表已经 commit 成功,然后将操作之后的文件 push 到自己的分支
切换回主分支之后再执行如下操作,将主分支的代码合并到自己的分支
单击确定出现如下界面代表 merge 成功
然后将自己分支的代码同步(git sync)到远程仓库
出现如下界面代表已经同步成功
后续操作同 5.2 的第 8 点(创建合并请求)
7、git 代码统计
参考链接 https://segmentfault.com/a/1190000008542123
7.1 查看 git 上的个人代码量:
git log --author=“username” --pretty=tformat: --numstat | awk ‘{ add += $1; subs
+= $2; loc += $1 - KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲ END { printf "…name\t";
git log --author="$name" --pretty=tformat: --numstat | awk ‘{ add += $1; subs += $2;
loc += $1 - $2 } END { printf “added lines: %s, removed lines: %s, total lines: %s\n”,
add, subs, loc }’ -; done
结果示例
// 作者名称 新增代码行数,移除代码行数,总代码行数
Max-laptop added lines: 1192, removed lines: 748, total lines: 444
chengshuai added lines: 120745, removed lines: 71738, total lines: 49007
cisen added lines: 3248, removed lines: 1719, total lines: 1529
max-h added lines: 1002, removed lines: 473, total lines: 529
max-l added lines: 2440, removed lines: 617, total lines: 1823
mw added lines: 148721, removed lines: 6709, total lines: 142012
spider added lines: 2799, removed lines: 1053, total lines: 1746
thy added lines: 34616, removed lines: 13368, total lines: 21248
wmao added lines: 12, removed lines: 8, total lines: 4
xrl added lines: 10292, removed lines: 6024, total lines: 4268
yunfei.huang added lines: 427, removed lines: 10, total lines: 417
³Ÿö added lines: 5, removed lines: 3, total lines: 2
7.3 查看仓库提交者排名前 5
git log --pretty=’%aN’ | sort | uniq -c | sort -k1 -n -r | head -n 5
7.4 贡献值统计
git log --pretty=’%aN’ | sort -u | wc -l
7.5 提交数统计
git log --oneline | wc -l
7.6 添加或修改的代码行数:
git log --stat|perl -ne ‘END { print $c } $c += $1 if /(\d+) insertions/’
7.7 使用 gitstats
GitStats 项目,用 Python 开发的一个工具,通过封装 Git 命令来实现统计出来代
码情况并且生成可浏览的网页。官方文档可以参考这里。
使用方法
git clone git://github.com/hoxu/gitstats.git
cd gitstats
./gitstats 你的项目的位置 生成统计的文件夹位置
可能会提示没有安装 gnuplot 画图程序,那么需要安装再执行:
//mac osx
brew install gnuplot
//centos linux
yum install gnuplot
生成的统计文件为 HTML:
7.8 使用 cloc
npm install -g cloc