![4104e0ff54a8c3abb02417f91d594c01.png](https://img-blog.csdnimg.cn/img_convert/4104e0ff54a8c3abb02417f91d594c01.png)
一、Git安装和配置
1.1、Git官网网站https://git-scm.com/下载
1.2、双击默认安装
1.3、桌面右键打开Git Bash Here即可使用Git
1.4、配置账号和邮箱:
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@youremail.com"
二、本地主机与gitlab云端连接
2.1、生成ssh-key,直接回车跳过
ssh-keygen -t rsa -C "your_email@youremail.com" -b 4096
2.2、将密钥保存到云端服务器。
cat ~/.ssh/id_rsa.pub | clip
至此远程代码库配置完成。
2.3、将建好的库clone下来。
git clone git地址
三、git使用
3.1、与远程仓库创建连接
$ git init
$ git remote add origin git地址
3.2、创建一个功能分支,基于develop创建
$ git checkout -b feature-aa develop
# 2.查看当前使用分支(结果列表中前面标*号的表示当前使用分支)
> git branch
# 3.切换分支
> git checkout 分支名
3.3、分支添加内容并提交
git pull origin feature-aa
git add .
git commit -m "解释"
git push origin feature-aa
3.4、合并一个功能到develop分支
--no-ff标志导致合并操作创建一个新commit对象,即使该合并操作可以fast-forward。这避免了丢失这个功能分支存在的历史信息,将该功能的所有提交组合在一起。
$ git checkout develop
$ git merge --no-ff feature-aa
$ git push origin develop
3.5、删除本地分支
$ git branch -d feature-aa
3.6、删除远程分支(慎用)
git push origin --delete feature-aa
3.7、打标签,当前分支
git tag -a v1.1aatest -m "aatest"
git push origin v1.1aatest
四、git log
4.1、统计feature-aa的增删行数
git log --author="feature-aa" --pretty=tformat: --numstat | gawk'{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加的行数:%s 删除的行数:%s 总行数: %sn",add,subs,loc }'
4.2、统计某个人时间范围的增删行数
git log --author="feature-aa" --since='2020-04-01' --until='2020-08-07' --pretty=tformat: --numstat | gawk'{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加的行数:%s 删除的行数:%s 总行数: %sn",add,subs,loc }'
五、其他
5.1、git pull
先把git的东西fetch到你本地然后merge后再push
$ git fetch origin master
$ git merge origin FETCH_HEAD
# 以上两条命令等价于以下一条,但是使用git fetch + git merge 更加安全
$ git pull origin master
5.2、常见问题解决办法
(master|REBASE 2/5)
git rebase --abort
(master|MERGING)
git reset --hard head
或
git status查看不同
git add/rm 手动修改