实习中用到了gitlab, 之前从来没用过,本文记录一些常用的操作。
先贴一个教程:git - the simple guide - no deep shit!
1. 本地新建文件夹并与远程关联:
git init
git clone 网址 //注:有两种形式
cd 项目文件夹
git checkout -b 分支名 //创建分支的同时切换到该分支上
git push --set-upstream origin 分支名 //提交到远程
另:git branch 本地分支名 //新建本地分支但不切换
git checkout 本地分支名 //切换回本地分支
git clone之前需要创建本地的SSH key,然后加到gitlab的SSH设置中,详见博客:
Gitlab设置SSH公钥,克隆项目_real_lt的博客-CSDN博客
***工作中的常用操作: 直接从远程拉取代码分支:
git clone -b 分支名 网址 //复制指定的分支,通常不允许在master下建立自己的分支
git checkout -b 本地分支名 origin/远程分支名 //拉取远程分支到本地并关联
2.1 修改文件后提交到远程:
git add .
git commit -m "修改信息" //注:有双引号
git push
git push origin 远程分支名 //适用于本地分支和远程分支没有关联的情况
2.2 远程内容拉取/同步到本地(注意本地所在分支):
git pull origin 远程分支名
另:如果遇到本地版本和远程版本冲突,可以:
a. 先提交远程,再重新pull;
b. 放弃本地修改,先输入:git reset --hard,然后再pull。注意此种是不可找回的!
c. 保存本地修改并恢复,先输入:git stash,再pull,最后输入git stash pop。
3. 删除本地分支和远程分支:
git branch -d 本地分支名 // git branch -D 强制删除
git push origin --delete 远程分支名
4. 重命名本地和远程分支:
git branch -m 旧分支名 新分支名
git push origin --delete 远程分支名 //删除远程分支
git push --set-upstream origin 新分支名 //将重命名后的分支推送到远程
5. 删除本地和远程分支的文件、文件夹:
git rm --cached 文件名 //删除远程文件
git rm -r --cached 文件夹名 //删除远程文件夹
git rm 文件名 //删除本地与远程分支文件
git rm -r 文件夹名 //删除本地与远程分支文件夹
// 再利用第2条提交到远程
6. 查看分支信息:
git branch //查看本地分支
git branch -vv //查看当前代码所在分支
git branch -r //查看远程分支
git branch -a //查看本地和远程所有分支
git branch -v //查看(本地)分支的最后一次提交信息
另:这些命令可以组合, 如:
git branch -rv //查看远程分支的最后一次提交信息
git branch -av //查看所有分支的最后一次提交信息
7. 恢复之前的某个版本:
先用“git log”命令或在git网站上找到目标版本号(版本commit的SHA)
建议:git revert命令:git revert多个提交_git revert多个commit-CSDN博客
不建议:用“git reset --hard 目标版本号”重置版本,再用“git push -f”强制推上远程(会丢失历史版本)
8. 提交cr(Change Request):
git push origin 源分支名:refs/for/目标分支名