简介
gitlab、github、gitee 代码仓库基本使用
开发使用注意事项:
- master/main 为主分支,一般不直接在主分支进行开发,因为主分支一般设置了保护分支,不能强制push
- 主分支一般用于保存线上运行版本,代码更新一般通过develop等分支进行合并
常用命令
查看
- git branch 查看分支
git branch # 查看当前本地分支 git branch -a # 查看包含远程的所有分支 git branch -m old_name new_name #重命名
- git status 查看修改状态
git status # 查看修改,可通过add,commit,push提交
- git log 查看提交记录
git log # push代码后,查看提交记录
- git remote 查看当前仓库
git remote # 查看所有仓库,不含地址 git remote -v # 查看所有远程仓库信息 git remote add origin git@xxx.com.git # 添加远程仓库 git remote rm linyq # 删除远程仓库
- git diff 查看不同
git diff #比较暂存区和工作区代码的不同
- git fetch 拉取指定仓库分支
手动拉取更新 git fetch origin master:temp git diff temp git merge temp git branch -d temp
- git reset --hard commitid 回退版本
git reset --hard 81***87d #回退指定版本 git push --force origin master #强制push
- git rebase
..
操作
-
git add 添加到暂存区
-
git commit 从暂存区提交到本地仓库
git commit -m "修改描述" # 将暂存区提交到本地仓库并添加描述
-
git push 提交到远程仓库
git push origin master # 上传代码到origin主机的远程仓库的master分支 git push origin master:develop # 上传代码到origin主机的远程仓库的develop分支 git push linyq ai:add-ai # 将本地ai分支上传代码到linyq主机的add-ai分支
-
git pull 下载代码到本地
git pull origin master:develop # 下载origin主机的master分支到本地的develop # 拒绝合并无关历史 执行下面命令解决 git pull linyq main --allow-unrelated-histories
-
git checkout 切换分支
git checkout develop # 切换当前分支到develop分支 git checkout -b dev # 新建本地分支并切换到add-ai分支 git checkout -b IP-dynamic-update biy/IP-dynamic-update # 基于远程分支创建本地分支 git push origin dev:dev # 新建远程分支
-
git branch -d <分支名称> 删除本地分支
git branch -d <BranchName> # 删除本地分支 git push origin --delete <BranchName> # 删除远程分支 git push origin :dbg_lichen_star # 推送一个空分支到远程分支(也相当于删除远程分支)
第一次 push 代码
参考:第一次建仓push代码
git init
git add .
git commit -m "提交描述"
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
# 输入登录git账号的用户名密码
Username for 'https://gitee.com': 18282513893
Password for 'https://18282513893@gitee.com':xxx
#这里的 https://github.com/MyJoanna/test.git 是你的仓库地址
git remote add origin https://github.com/xxx.git
git push -u origin master
rebase代码
- 应用场景: fork了主分支到自己仓库, 自己clone自己的master分支, 基于master分支创建dev分支进行开发, 此时主分支多了2次提交,自己的dev分支提交MR时会显示落后两个分支,解决落后分支的问题
# 解决思路:
1. 先将自己仓库的maser分支同步更新到最新
2. 再通过rebase合并本地的master到dev分支
3. 有冲突修改冲突,无冲突强制push到自己的远程dev仓库
# 切换到master分支,进行更新
git pull jiasule master --rebase
# 将master分支合并到当前分支(dev)
git rebase master
# 强制push
git push -f origin dynamic