我是靠谱客的博主 愤怒世界,最近开发中收集的这篇文章主要介绍git基本知识和常见问题的归纳整理(非常小白)前言一、基本知识二、常见问题碎碎念,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

git基本知识和常见问题的归纳整理(非常小白)

  • 前言
  • 一、基本知识
  • 二、常见问题
    • 1.上传错误代码/想要删除自己提交的代码,使git回退到某一版本怎么办?
    • 2.合并代码出现(分支|MERGING)怎么办?
    • 3.如何解决合并代码出现的冲突呢?
    • 4.如何避免git提交记录中看到Merge branch ‘master’ of XXX而不是自己写的信息?
    • 5.修改了很多代码,但只需要提交其中几个,该怎么操作?
  • 碎碎念

前言

刚进项目组实习,要使用git的时候,我是懵的。
去学习相关资料时,
脑子:我会了!我记住了!多简单呐!
手:?这命令真是这样输吗
等到真正地实践过了几次,糊糊涂涂地做了些东西,就有点悟了
所以,为了防止自己忘记,这篇博客就诞生了(狠狠地戳自己脑壳,为啥你这么笨!)


前提:安装了git bash

一、基本知识

先整点最基础的命令:

克隆远程代码到本地: git clone http://XXXXXX.git(项目地址)
克隆指定远程分支代码到本地: git clone -b <远程分支名> <项目地址>
初始化本地仓库:git init(同级目录下会出现一个隐藏的.git文件)
查看本地分支: git branch
查看远程分支: git branch -r
查看全部分支: git branch -a(包括本地和远程分支)
切换本地分支:git checkout <branchName>
创建并切换本地分支: git checkout -b <branchName>
从远程仓库里拉取一条本地不存在的分支: git checkout -b <本地分支名> origin/<远程分支名>
(这会在本地创建一个分支并和远程分支关联。)
合并某分支到当前分支:git merge <branchName>
删除本地分支:git branch -d <branchName>
查看当前git状态信息:git status(查看是否有文件未提交),推荐使用 git status -s 以精简的方式显示文件状态
提交本地代码到git索引(缓存)中:git add .(注意add和"."之间有一个空格)
本地从缓存中加到文件库(repository)中:git commit -m "版本描述"
将指定远程分支的最新内容拉到本地,不进行合并:git fetch origin <branchName>
将指定远程分支最新内容拉下来后与当前本地分支直接合并:git pull origin <branchName>
推送本地分支至指定远程分支:git push origin <branchName>

参考文档:https://www.cnblogs.com/cblx/p/12467083.html

二、常见问题

1.上传错误代码/想要删除自己提交的代码,使git回退到某一版本怎么办?

  1. 先执行git log查看提交版本的哈希值(或者说叫commit id)
  2. 基于实际情况进行版本回滚
    ①强制回到某个版本,注意是把所有文件都回到当时版本并且把后面新增的文件删除
    git reset --hard <hash>(就是commit后面那一串东西)
    ②把某个版本的文件覆盖到当前工作区,但后面增加的文件依然保留
    git checkout <hash>
    ③单独把某个文件回滚到某个版本
    git checkout <hash> <fileName>
  3. 重新强制提交代码:
    git push origin <branchName> --force

详情可以参考:Git版本回退及 git log 、 git reset --hard commit_id 的基本使用
(内含回滚错了的解决方法噢)

2.合并代码出现(分支|MERGING)怎么办?

  1. 将代码回退到提交提交代码的当前状态(只是撤销merge,并未解决冲突)
    git reset --hard HEAD
  2. 提交当前分支代码
    git pull origin <branchName>

3.如何解决合并代码出现的冲突呢?

  1. 如果是使用git pull 或 merge 合并,冲突解决参考:git merge 冲突解决
  2. 由于git pull origin <branchName>需要另外打开提交文件去手动修改冲突内容,本人更喜欢用git pull --rebase origin <branchName>来合并代码,只需要根据提示去解决冲突,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

想了解git pullgit pull --rebase的区别,可参考:https://www.cnblogs.com/ellen-mylife/p/12794245.html

如果觉得一个个修改冲突太麻烦,想要一次性解决,请各位朋友找到解决方法后在评论区里放个链接,因为我也想知道≧ ﹏ ≦

4.如何避免git提交记录中看到Merge branch ‘master’ of XXX而不是自己写的信息?

直接使用 git pull –rebase 拉取合并新的变动到本地。
参考:Git push 时如何避免出现 “Merge branch ‘master’ of …”

以下是我自己操作的实例:
把修改代码提交到dev打包测试,没问题后提交到uat的过程
在这里插入图片描述

5.修改了很多代码,但只需要提交其中几个,该怎么操作?

git status -s 查看仓库状态
git add <fileName> 增加其中的一个文件
git stash -u -k 重要操作:忽略其他文件,隐藏其他的修改文件,这样提交的时候就不会提示未被add的文件了
git commit -m "只提交其中的一个文件" 提交这个文件
git pull origin <branchName> 拉取最新的开发分支
git push origin <branchName> (把提交的文件推送到远程分支)
git stash pop 重要操作:回复之前忽略的文件
git status -s再次查看仓库状态,可以看到除了提交外的其他修改文件

参考文档:GIT提交大量修改代码中的几个(一般只需要提交其中的几个)


碎碎念

咸鱼在写上述内容的时候又把知识过了一边,然后脑子又开始宕机了……依然是一只没有大志、只想摸鱼、脑子还不太好使的菜狗,有错欢迎评论指出,其他勿扰( ̄︶ ̄*))
遇到了别的常见问题可能会继续更新噢,对的,可能(●’◡’●)

最后

以上就是愤怒世界为你收集整理的git基本知识和常见问题的归纳整理(非常小白)前言一、基本知识二、常见问题碎碎念的全部内容,希望文章能够帮你解决git基本知识和常见问题的归纳整理(非常小白)前言一、基本知识二、常见问题碎碎念所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部