一.首次将代码放到github上步骤

1. 查看分支(本地和远程分支)

git branch -av 

2. 删除远程分支

 git push  --delete origin remote_old_branch

3. 重命名本地分支

 git branch -m old_branch  new_branch

4. 推送新分支到远程

git push origin new_branch

二.新做一个功能的时候需要新建一个分支, 实现新功能的代码都在该分支上

1.新创建一个分支

    git branch  新的分支名字

2.切换到新的分支上

    git checkout  新的分支名字

3.上面的两步可以使用一步完成

    git checkout  -b 新的分支名字   (当分支不存在的时候就会创建)

4.查看有哪些分支

    git branch;

5.将当前分支推到完成

 git push -u  origin  指定的分支

6.切换到主分支并且将其他分支合并到主分支上. 并且将合并过来的代码推到主分支上

 git checkout master
 git merge  其他分支
 git push -u  origin master

7.刚到公司,需要将公司现有的代码拷贝下来

 git clone  git的地址 文件夹

三.重命名远程分支步骤

1. 查看分支(本地和远程分支)

git branch -av 

2. 删除远程分支

git push  --delete origin remote_old_branch

3. 重命名本地分支

git branch -m old_branch  new_branch

4. 推送新分支到远程

 git push origin new_branch

四.假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

1.取得远程更新,这里可以看做是准备要取了

 git fetch origin 

2.把更新的内容合并到本地分支

git merge origin/master

五.假设本地的代码没有github远程的代码新. 需要先从远程拉下最新的代码

git pull
拉下来的时候需要加上注释,说明远程的代码和本地的代码进行合并
合并之后再将本地的代码推送到远程
git push -u  origin goods

六.创建一个新的存储库

#克隆一个远程git仓库
git clone git@xxx:xxx/test.git
#进入本地克隆文件夹
cd test 
#生成README.md文件
touch README.md
#提交到本地仓库
git add README.md
#本次提交说明
git commit -m "add README" 
#推送(当前分支推送到远程.远程分支不存在则创建)
git push -u origin master

七 .现有的Git存储库

#进入现有项目git
cd existing_repo
#查看远程仓库
git remote -v
#删除远程仓库
git remote rename origin old-origin 
#增加远程仓库
git remote add origin git@xxx:xxx/test.git 
#删除指定的远程仓库
git remote rm origin

八.git push -u origin main 报错

! [rejected]  main -> main (non-fast-forward)
error: 推送一些引用到 'git@xxx:gitlab-instance-7638cf78/test.git' 失败
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。
https://codeleading.com/article/51073047540/
#解决办法: 可以选择强行覆盖,这样就以本地的为准:
git push origin main -f

九. ! [remote rejected] main -> main (pre-receive hook declined)

error: 推送一些引用到 'git@xxx:gitlab-instance-7638cf78/test.git' 失败:
原因:
gitlab主分支main权限问题
解决办法
gitlab仓库->设置->仓库->受保护分支->取消对应分支

十.git 设置

git config --global user.name "xxx"
git config --global user.email "xxx@qq.com"

#生成ssh
ssh-keygen

#增加新的远程仓库
git push -u origin --all
git push -u origin --tags

#查看当前用户(global)配置
git config --global  --list

十一.git的常见命令

#建立repository
git init
#查看状态
git status
#查看历史提交
git log  
#返回到版本号
git reset 版本号
#回退到某个提交点,一般配合git log  使用:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard   '版本号' 
#撤销到版本号
git revert 版本号
#本地创建并切换分支
git checkout -b branch_name
#删除本地分支
git branch -d/D  branch_name 
#删除远程分支
git push origin --delete remote_brnach_name
#重命名本地分支
git branch -m oldbranch_name new_branch_name 
#更新远程分支
git remote update -p 
#查看状态
git status
#查看分支(-a 包括远程分支)
git  branch -a
#提交到本地仓库(. 代表所有文件) git add filename
git add .
#本次提交说明
git commit -m '说明内容'
#推送(当前分支推送到远程.远程分支不存在则创建)
git push  origin remote_branch_name
#拉取远程分支并合并(当前分支拉去远程分支.远程分支不存在则创建)
git pull  origin remote_branch_name
#关联本地和远程分支:
git branch --set-upstream local_branch origin/remote_branch
#合并test-branch到当前分支
git merge --no-ff  本机上的分支(test-branch)
#还原所在文件的修改:
git checkout  -- 文件名
#自动创建一个新的本地分支,并与指定的远程分支关联起来
git checkout -b 本地分支名 origin/远程分支名
#-比较不同
git diff 版本一 版本二

十二.fatal: Cannot update paths and switch to branch 'dev2' at the same time

如果出现提示:

fatal: Cannot update paths and switch to branch 'dev2' at the same time. Did you intend to checkout 'origin/dev2' which can not be resolved as commit?

表示拉取不成功,需要先执行

git fetch

然后再执行

git checkout -b 本地分支名 origin/远程分支名

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐