git-安装
代码管理工具:git/svn
- git 安装(git官网->找系统32/64->下一步安装)
- 安装后的结果是: 文件夹->右键出现->gitbash/git->git指令
// 检查git版本 git --version
git-配置账户和邮箱
在使用git指令之前,配置邮箱名字:
$ git config --global user.name "xxx"
$ git config --global user.email xxx@example.com
// 查看配置
git config --global --list
git-基本操作
git demos文件夹右键->git bash->执行git指令
// 当前gitdemos项目可以使用git去管理了
// 效果: 生成.git文件,(默认该文件是隐藏的,需要设置隐藏的文件可见,通过查看进行设置)
git init
// 检查每个文件的状态(未跟踪/已修改)
// git status
// 把工作区代码转移到->暂存区
git add .
// 暂存区-> 本地仓库
git commit -m "注释"
注意: git init 只需要写一次
git-远程仓库
代码托管平台(gitlab/码云/工蜂等)
- 注册gitlab
- 登录gitlab
- 新建远程仓库 (右上角±>new repository->命名->create),仓库名最好跟项目名称一致
// 关联远程仓库 gitdemos是仓库名 git remote add origin https://github.com/自己的账号/gitdemos.git // 推送代码 git push -u origin master 出现错误的主要原因是github中的README.md文件不在本地代码目录中(如果在github上创建仓库的时候,没有勾选创建readme,而是在本地创建,则不会报错) 进行合并git pull --rebase origin master 合并之后在进行内容推送 git push origin master // 开发功能1 -> 完成 git add . git commit -m "注释1" // 开发功能2 -> 完成 git add . git commit -m "注释2" // 推送代码 git push 如果报错,则执行 git push --set-upstream origin master
git-分支管理
前提 git 管理代码/协同开发
A 人->新建子分支 login->编写代码 ->git add. commit->把代码 A 合并到主分支 master
B 人->新建子分支 home->编写代码 ->git add. commit->把代码 B 合并到主分支 master
在 master 主分支上->git push
// 查看当前分支
git branch
// 新建分支并且切换到新建的分支
git checkout -b 分支名 //分支名以dev-开头,体现是开发功能的分支,比如:
git checkout -b dev-login
// 在子分支完成小功能后,在子分支dev-login上执行
git add .
git commit -m "配置登录路由完毕"
// 功能完成后,切换到master
git checkout master
// 把dev-login分支写的代码合并到master
git merge dev-login
// 在master主分支推送
git push
// 子分支
git add .
git commit -m ""
// 切到主分支
git checkout master
// 在主分支上合并代码
git merge dev-login
// 推送
git push
git下载项目
git clone 项目网址 //推荐使用ssh
设置用户名密码
$ git config --global user.name "aaa"
$ git config --global user.email "aaa@qq.com"
统计代码的方式
git log --author="aaa" --since=2022-03-25 --until=2022-03-25 --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 }'
设置SSH秘钥
执行下方指令,找到生成的文件,在gitlab中的个人设置中添加SSH秘钥
ssh-keygen -t rsa -C 'youremail@qq.com'
将现有的仓库迁移到新的仓库中
在现有仓库的.git文件夹中执行下列指令
1. 克隆旧的存储库
git clone git@xxx.git
2.来到旧的存储库的.git文件夹
git remote rename origin old-origin //将原有的origin命名为old-origin
git remote add origin ssh://git@xxx.git //添加新的仓库地址
git push -u origin --all //推送全部的代码,只推送主分支,如果有多个分支,需要切到子分支,并推送,使用vscode推送较为方便
git push -u origin --tags //推送标签
推送到远程的指定分支
git push origin branchName
修改分支名称
git branch -m oldbranch名称 newbranch名称
解决冲突
stash命令可用于临时保存和回复修改,可跨分支。
注:在未add之前才能执行stash!!!!
git stash [save message]
保存,save为可选项,message为本次保存的注释
如:git stash save '0603-1049'
git stash list //所有保存的记录列表
git stash pop stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
如:git stash pop stash@{0}取第一个(最新的)
有时用:git stash apply 0,恢复第一个
git stash apply stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。可回复多次
git stash drop stash@{num}
删除某个保存,num是可选项,通过git stash list可查看具体值
git stash clear 删除所有保存