git常用命令 更新代码 提交代码

1. 简介

  • Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
  • Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 。

2. 常用命令

  • 使用命令将代码克隆到本地:

    git clone  ssh链接
    
  • 添加文件到暂存区中

    git add file1.txt  
    git add file2.txt file3.txt  //添加两个文件到暂存区
    
  • 提交暂存区中的所有内容到当前分支,双引号内的内容为注释,描述。

    git commit -m “add 3 files”  
    
  • 查看git当前状态

    git status 
    
  • 版本库(Repository):.git目录,Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

  • 查看提交记录:

    git log
    

3. 分支管理,新建分支,切换分支:

  1. 创建新分支dev。使用此命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一致。
    实际开发中,我们一般是在主分支master上创建新分支。

    1. git branch dev  
    
  2. 切换到dev分支

    git checkout dev 
    
  • 上面两句命令可以合并为一个命令:

    git checkout -b dev
    
  1. 将本地分支推送到远程仓库:
  • 如果是第一次将本地分支推送到远程仓库,需要执行如下的命令:

    git push origin dev
    
  • 查看当前分支,当前分支用了号表明
    git branch命令会列出所有分支,当前分支前面会标一个
    号。

    git branch	
    
    *dev
    master
    

4. 更新代码的命令

  • 如果是更新创建的新分支:先执行git fetch命令
  • 执行git checkout分支名 命令切换到要更新的分支
  • 执行git pull命令更新该分支代码

5.提交代码的命令:

  • 提交代码前可先查看git的状态:

    命令: git status    git diff
    
     git add 文件名
    
  • 将本地修改过的文件提交到本地库中

    git commit -m “本次提交的修改的备注” 
    
  • 将本地库中的最新信息发送给远程库

    git push origin master 
    

    origin是远程仓库的默认名称,master是我们的分支名称(主分支)
    因此,git commit用于连接本地存储库,操作的是本地库;而git push用于与远程存储库交互,操作的是远程库。

6. 恢复误删文件或者修改文件之后恢复成修改前的文件:

git restore 文件名

7. 导出本地修改的 diff:

  • 本地修改了文件,还没有 git add ,可以这样导出。

  • 格式为:

    git diff 【修改的文件或文件夹】>>【差异文件名称】
    
  • 示例,

    git diff device.mk >> device.diff
    
    git diff device.mk >> device.pacth
    

    device.diff 、device.pacth 是自己命名的,名称自取,后缀一般使用 .diff 和 .pacth 。

    导出后的 device.diff 、device.pacth 文件,用 Notepad++ 、Sublime Text 等编辑器可看到明显的修改差异。

8. 导出临近两个 comit 之间的 diff

  • git log 查看提交记录,要导出临近两个提交之间修改的差异,可以这样做。

  • 格式为:

    git diff 【old-commit-id】【new-commit-id】>> 【差异文件名称】
    
  • 这样导出的差异文件,和 git show new-commit-id 的结果一样。

  • 示例,

    git diff 03a5cc46f1 a16f3bb31b >> commit.diff
    

    把要忽略的文件名填进.gitignore,Git就会自动忽略这些文件。提交时就不会提交该部分代码

猜你喜欢

转载自blog.csdn.net/nb124667390/article/details/131104817