git常用命令笔记
-
克隆某一个分支
git clone -b dev git——path
-
查看所有分支
git branch -a
-
查看本地分支
git branch
-
切换本地分支
git checkout master
-
创建并切换到本地其他分支
git checkout -b test
注意:创建本地分支并切换不涉及远端分支时,新建分支同切换前分支
-
创建并切换到远端分支
git checkout -b dev origin/develop
注意;创建并切换到远端分支,新建分支同切换到远端分支
-
创建远端分支
git push origin localBranch:remoteBranch
-
查看git暂存区 工作区 文件工作状态
git status
我们平时修改的文件文件夹在git 中被称为工作区,文件修改
git add fileName
后,提交的修改放到了暂存区stage
若需要将文件从
stage
暂存区移出但保留文件在上次commit
后的修改git reset HEAD fileName
或者git reset HEAD --fileName
-
撤销git工作区的文件修改(修改文件但未git add,想要恢复到上次commit)
git checkout --fileName
-
撤销git暂存区的修改
git reset HEAD fileName
注意:文件会恢复到工作区,和操作之前无差异,如果要恢复到上次commit状态,需要执行
git checkout --fileName
-
commit后回退到上次commit
git reset --hard head^
只是撤销commit但保留暂存区和工作区的修改
git reset --soft head^
只是撤销commit和add但保留工作区的修改
git reset --mixed head^
删除工作区修改,回退上次commit
git reset --hard head^
-
撤销git push
git reset --hard head^
git push origin HEAD --force
-
查看提交日志
git log
多人合作时,同时修改同一文件,冲突解决
git commit -m "我修改的"
git fetch
git merge
git add .
git commit -m "冲突解决"
git push
配置多个git的ssh秘钥
-
生成秘钥
ssh keygen -t rsa -C tangweiyang@baijiahulian.com -f bjhl-rsa
-t
所用的加密算法-C
用户的邮箱-f
生成的秘钥文件名
一路回车,在当前用户的根路径
~/.ssh/
下会有bjhl-rsa
和bjhl-rsa.pub
文件 -
~/.ssh/config
写入,(若不存在则创建)Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github-rsa Host git.baijiahulian.com HostName git.baijiahulian.com IdentityFile ~/.ssh/bjhl-rsa HostKeyAlgorithms +ssh-dss
-
将ssh公钥
bjhl-rsa.pub
内容复制到gitlab中,克隆选择ssh方式
添加/切换远程仓库
- 本地
commit
- 查看本地绑定的远程gitUrl
git remote -v
- 添加gitRemoteUrl :
git remote add origin gitUrl
- 修改gitUrl
git remote set-url origin gitUrl
也可以设置--add
,--delete
git push -u origin xxbranch
git 开发一般流程
fork到Gitlab个人空间 => clone到本地 => 本地建feature分支 => 修改代码 => 单元/本地测试 => 本地master合并feature分支代码 => Push到Gitlab => 从Gitlab朝项目的官方库发起Merge Request => 项目管理员通过Gitlab执行MR => 发test环境验证 => 打tag上线