当前位置:   article > 正文

git 常见命令——将本地仓库推送到远程仓库的相关流程_gitpush到指定远程仓库

gitpush到指定远程仓库

目录

1. 初始化项目

2. 建立本地仓库和远程仓库的连接

3. 已有项目只需克隆项目到本地,无需进行前两步

4. 创建并切换分支

4-1. 查看当前分支

4-2. 切换分支

4-3. 常见分支类型有:

4-4. 在切换分支的时候,将当前分支修改的内容,同步到切换的分支下

5. 更新本地项目,从远程仓库pull到本地

6. 将文件加载到暂存区

6-1. 删除add添加的文件

6-2. 取消本地修改

7. 将文件提交到本地仓库

7-1. 描述信息常见类型有:

8. 合并分支

8-1. 合并冲突

8-2. 取消合并

8-3. 撤销

8-4.  回滚

9. 删除本地分支

10. 将本地仓库推送到远程仓库

11.  项目发版后可能有紧急bug需要修复,此时应建立bug分支或hotfix分支进行修复,修复完成后,合并分支到master。


1. 初始化项目

        git init

2. 建立本地仓库和远程仓库的连接

        git remote add origin 远程仓库地址

3. 已有项目只需克隆项目到本地,无需进行前两步

        git clone 远程仓库地址

4. 创建并切换分支

        git checkout -b 分支名 / git switch -c 分支名

        等同于:

        git branch 分支名  (创建分支)

        git checkout 分支名  (切换分支)

4-1. 查看当前分支

        git branch

4-2. 切换分支

        git checkout 分支名  /  git switch 分支名

4-3. 常见分支类型有:

        master:主分支,一般只有拥有相关权限的人员可以操作

        sit:测试分支,合并分支后,测试人员在sit环境测试

        release:预发布分支,release 为预上线分支,发布提测阶段,会以此分支代码为基准提测

        feature:功能分支,可使一个功能建立一个功能分支

        dev:开发分支

        hotfix: 项目发版后的紧急修复分支

        bug: 一般只用于本地修复bug

4-4. 在切换分支的时候,将当前分支修改的内容,同步到切换的分支下

        git checkout --merge 分支名 这个命令适用于在切换分支的时候,将当前分支修改的内容一起打包带走,同步到切换的分支下。

        使用这个命令时如果当前分支和切换分支间的内容不同的话,容易造成冲突。并且切换到新分支后,当前分支修改过的内容就丢失了。所以,这个命令谨慎使用。

5. 更新本地项目,从远程仓库pull到本地

        git pull origin 分支名称  /  git pull

6. 将文件加载到暂存区

        git add .

6-1. 删除add添加的文件

        git rm --cached 文件名

6-2. 取消本地修改

        写了很久发现写错了,想恢复到一开始的状态,使用 git checkout . 使用这个命令后,当前分支的修改会重置,谨慎使用。

7. 将文件提交到本地仓库

        git commit -m "描述信息" (-m 为描述信息)

7-1. 描述信息常见类型有:

        feat: 新功能

        fix: 修复bug

        style:  不影响代码含义的更改,如 格式化

        perf: 提高性能的更改

        docs: 只是文档的更改

8. 合并分支

        git merge 分支名 (git merge 用于合并指定的分支到当前分支)

8-1. 合并冲突

        使用 git status 查看工作区冲突文件

        文件中 git用<<<<<<<=======>>>>>>>标记出不同分支的内容,根据需要删除或保存。

        保存后重新提交git add .  =>  git commit -m 'commit'  =>  git push

  1. <<<<<<< HEAD
  2. Hello World
  3. =======
  4. Hello Word
  5. >>>>>>> dev1

8-2. 取消合并

        使用 git merge --abort 取消合并

        git merge --abort 命令仅仅在合并后导致冲突时才使用,它将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,该命令可能无法重现合并前的状态。

        所以在合并时,还有未commit的文件时,可以用git-stash命令将这些文件暂存起来,并在解决冲突以后使用git stash pop把这些文件还原。详情参考第11条。

8-3. 撤销

        使用 git reset 命令:

        git reset --soft: 将分支回退到指定提交,工作区维持现状不变,暂存区会在现有基础上增加该commit之后的提交。
        git reset --mixed: (默认操作)将分支回退到指定提交,暂存区也被同步为该指定提交,工作区保持不变。
        git reset --hard: 将分支回退到指定分支,暂存区和工作区都会被同步为该指定的提交。

        git reset 后的三个参数回退程度是依次递进。soft最轻微,它不会重置当前工作区和暂存区,只会将回退版本后续的提交加到暂存区。mixed会改变暂存区,使它和回退版本同步。hard则会重置工作区和暂存区,使它和回退版本一致。

8-4.  回滚

        git revert 的作用是通过创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本。
        如果我们想恢复之前的某一版本(该版本不是merge类型),但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。我们使用git revert HEAD命令就可以创建一个新的版本,此版本与上一个版本相同。

        git revert HEAD :撤销前一次 commit
        git revert HEAD^ :撤销前前一次 commit
        git revert commit + (commit id) : 撤销指定的版本,撤销也会作为一次提交进行保存。

        git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。

9. 删除本地分支

        git branch -d 分支名   (强行删除应使用 git branch -D 分支名)

 

10. 将本地仓库推送到远程仓库

        git push origin 分支名  / git push  (强行推送可用 git push -f  )

        一般在推送前需要先用 git pull 命令拉取新代码,才能push成功。

        使用 git log 命令查看提交信息,若本地分支比远程分支快两个提交,尝试推送本地分支;

        若失败了,说明有人先推送了远程分支,使用 git pull 拉取;

        加上之前的合并提交,现在本地分支比远程分支超前3个提交,使用 git log 会发现这个分叉很不好看,但是可以push成功吗?可以。

        但是对于有强迫症的同学就不太好了,此时,可以使用 git rebase 命令,将原本分叉的提交变成一条直线,之后在push,远程的提交历史也是一条直线。

11.  项目发版后可能有紧急bug需要修复,此时应建立bug分支或hotfix分支进行修复,修复完成后,合并分支到master。

        若有紧急bug需修复时,此时工作区还未提交,且此时工作尚未完成,无法提交,此时可使用 git stash ,将当前工作现场隐藏,等bug修复完成后在恢复现场。

        隐藏后使用 git status 查看工作区,此时工作区时干净的。修复完成后,使用 git stash list 可查看工作现场。

        此时,使用 git stash apply 恢复现场,但恢复后, stash 内容 并没有删除,需要使用命令 git stash drop 删除。

        或者使用 git stash pop 命令,恢复现场同时删除stash内容。再用 git stash list 命令查看,就看不到任何stash内容了。

        可以多次使用 git stash 命令‘储藏’工作区,恢复时,先用 git stash list 查看,后可指定要恢复的stash,如 git stash apply stash@{0}

参考文章:

创建版本库 - 廖雪峰的官方网站

git 取消合并与撤销_git取消合并命令_独一无二的傻的博客-CSDN博客

Git如何撤销提交(命令行+IDEA)_git 撤销提交_beeworkshop的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/546137
推荐阅读
相关标签
  

闽ICP备14008679号