当前位置:   article > 正文

Git常用命令_git基本操作命令

git基本操作命令

Git的使用手册

Git的简介

  • Git是一个快速,可扩展的分布式版本控制系统,有利于将一个大任务分解,进行本地的多次提交。

  • 每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力。因此,不用依赖网络也可以查看,修改代码。

    工作目录:包含.git文件夹的目录,主要用来存放代码。
    
    • 1
  • Git只需要进行分支的切换即可达到在某个分支上工作的效果。

  • 分布式原理图

    点击查看图片来源

Git比较重要的概念

工作区

​ 就是我们能看到的目录,如下图的黄色区域。

image-20230506230053566.png

版本库

​ 如蓝色所示,是一个隐藏文件,不属于工作区,是Git的版本库。

image-20230506230253147.png
​ 版本库存放了很多东西,例如:

  • 暂存区(index):像个缓存区域,临时保存你的改动
  • HEAD:指向你最近一次提交后的结果

总结

b629845b67c5414cb20a366dad0e322f~tplv-k3u1fbpfcp-zoom-1[1].image

Git最基本操作命令(开发一整套流程)

获取代码->修改->提交代码->推送到远程仓库
  • 1

获取代码

  • git clone XXX【地址】

修改,提交代码

  • 本地修改后(增删改查)后,把它们添加到缓存区

    git add  <filename文件名>
    git add . #添加当前目录下的所有工作
    
    • 1
    • 2
  • 若要删除文件

    git rm <filename文件名>
    
    • 1
  • 使用以下命令进行实际提交

    git commit -m "备注信息"
    
    • 1

    此时,代码已经提交到了本地仓库,但是还没有到远程仓库。

推送到远程仓库

git push <remote-name> <local-branch-name>
git push origin master #将本地的master分支推送到远端
  • 1
  • 2

补充

  1. 设置用户签名

    git config --global user,name xsy #区分不同操作者身份,以此确认本次提交是谁做的
    git config --global user.email xsy@qq.com
    # 这里设置用户签名和将来登录Github的账户没任何关系
    
    • 1
    • 2
    • 3
  2. 初始化本地库

    git init #初始化后会生成一个隐藏文件.git
    
    • 1
  3. 查看本地库状态

    git status #红色:没有提交到缓存区。绿色:提交到缓存区
    
    • 1

Git更新远程仓库最新代码

​ 每天上班第一件事要记得拉取远程最新的代码到本地仓库哦~

git pull origin <branch> #更新远程仓库的branch分支到本地
  • 1

Git分支,合并操作

需要并行开发时,需要创建分支。创建仓库的时候,master是默认的。可以在其他分支上进行开发,完成后再将它们合并到主分支上。
  • 1

创建,合并本地分支

  1. 创建一个叫feature_x的分支,并切换过去
git checkout -b feature_x
  • 1
  1. 切换回主分支
git checkout master
  • 1
  1. 将新建的"feature_x"合并到master分支
git merge feature_x
  • 1
  • 注意:
    1. git checkout < branch-name> 命令不带-b参数,是切换到已存在的本地分支。
    2. 用以下命令查看已存在的分支
      1. git branch #查看本地分支
      2. git branch -a #查看所有分支,包括远端,remote/origin前缀的是远端分支

推送本地分支

git push origin feature_x  #远端也有feature_x分支了
  • 1

删除分支(先不管)

git branch -d xx
  • 1

检出远端分支(啥意思)

​ 若需要检出别人已经推送到远端仓库的"feature_x"分支到本地"feature_x"分支:

git checkout -b feature_x --track origin/feature_x
  • 1

Git的高级操作

查看日志

git log      #查看所有历史版本信息
git log -n	 #查看前n个历史版本信息
git log -p   #查看具体变动
git log --stat  #显示简要的增改行数统计,每次提交文件的变更统计
git log --pretty=oneline #一行显示,只显示哈希值和提交说明
git log --pretty=format:"" #控制显示的记录格式
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Git比较操作

git diff #工作区和暂存区比较
git diff cached #比较暂存区和HEAD的文件差异
git diff HEAD	#工作区和HEAD的比较
git diff jkdshjhf skfjs #查看某两个版本之间的差异
git diff <source_branch> <target_branch> #查看分之间的差异
git diff jdkshjkd:filename jkahjk:filename #查看某两个版本的某个文件之间的差异
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

回滚操作

  1. commit前的回滚操作

    git checkout --<filename> #放弃你在工作区中指定文件的修改
    git checkout --<filename> #放弃你在工作区中的所有修改?
    git clean -df #放弃在工作区中添加的文件和目录(untracked file/dirs)
    git reset HEAD #将已经在暂存区的改动返回到工作目录(unstage)
    git reset --hard HEAD #将已经在暂存区的改动全部放弃,暂存区和工作区的内容被HEAD覆盖
    
    • 1
    • 2
    • 3
    • 4
    • 5
  2. commit后的回滚操作

    git commit --amend #上次提交的补救模式,不会产生新commit
    git revert <commit-id> #回滚中间的某次commit,会产生新commit,适用于对远端历史的回滚(不会改变远端历史)
    git reset HEAD^ #回退所有内容到上一个版本,改动放到工作区
    git reset soft HEAD^ #回退所有内容到上一个版本,改动放到暂存区
    git reset hard HEAD^ #回退所有内容到上一个版本,改动部门删除
    git reset HEAD^ filename.py #回退filename这个文件的版本到上一个版本
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

如何解决冲突

​ 以下是解决 Git 冲突的基本步骤:

  1. 在终端中进入你的 Git 项目目录。
  2. 运行 git status 命令,查看哪些文件存在冲突。冲突的文件将被标记为“both modified”。
$ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.

    (use "git pull" to merge the remote branch into yours)

Changes to be committed:

        modified:   file1.txt

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
        both modified:   file2.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  1. 打开包含冲突的文件,并寻找类似于下面的内容:
<<<<<<< HEAD
This is some content added by you.
=======
This is some content added by someone else.
>>>>>>> other-branch
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 解决冲突。在上面的示例中,你需要决定保留哪些内容。可以将文件修改为:
This is some content added by both of us.
  • 1
  1. 保存并关闭文件。
  2. 运行 git add 命令,以标记文件已解决:
$ git add file2.txt
  • 1
  1. 运行 git commit 命令提交更改:
$ git commit -m "Resolve conflict in file2.txt"
  • 1
  1. 如果你已经解决了所有的冲突,运行 git push 命令将更改推送到远程仓库:
$ git push
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/600264
推荐阅读
相关标签
  

闽ICP备14008679号