简介

gitlab、github、gitee 代码仓库基本使用

开发使用注意事项:

  • master/main 为主分支,一般不直接在主分支进行开发,因为主分支一般设置了保护分支,不能强制push
  • 主分支一般用于保存线上运行版本,代码更新一般通过develop等分支进行合并

常用命令

查看

  1. git branch 查看分支
    git branch			# 查看当前本地分支
    git branch -a		# 查看包含远程的所有分支 
    git branch -m old_name new_name   #重命名
    
  2. git status 查看修改状态
    git status			# 查看修改,可通过add,commit,push提交		
    
  3. git log 查看提交记录
    git log				# push代码后,查看提交记录
    
  4. git remote 查看当前仓库
    git remote			# 查看所有仓库,不含地址
    git remote -v		# 查看所有远程仓库信息
    git remote add origin git@xxx.com.git	# 添加远程仓库
    git remote rm linyq	# 删除远程仓库
    
  5. git diff 查看不同
    git diff			#比较暂存区和工作区代码的不同
    
  6. git fetch 拉取指定仓库分支
    手动拉取更新
    git fetch origin master:temp
    git diff temp
    git merge temp
    git branch -d temp
    
  7. git reset --hard commitid 回退版本
    git reset --hard 81***87d		#回退指定版本
    git push --force origin master 	#强制push
    
  8. git rebase
..

操作

  1. git add 添加到暂存区

  2. git commit 从暂存区提交到本地仓库

    git commit -m "修改描述"		# 将暂存区提交到本地仓库并添加描述 
    
  3. 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分支
    
  4. git pull 下载代码到本地

    git pull origin master:develop	# 下载origin主机的master分支到本地的develop
    # 拒绝合并无关历史 执行下面命令解决
    git pull linyq main --allow-unrelated-histories
    
  5. 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     # 新建远程分支
    
  6. 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