Git的常用命令

一、git的本地操作

   1、git的基本原理

  解析:workspace是工作区,index是暂存区,local repository是本地仓库,remote repository是远程区。 

  a、增加代码之后,会将新增的代码保存在index区域,然后commit之后上传到本地仓库local repository;

  b、本地仓库local repository经过push后上传到remote repository(远程仓库)

  c、远程仓库经过fetch之后,下载到local repository本地仓库。

  2、在git中的绝大多数操作都只需要访问本地文件和资源,不用连网。

       因为Git在本地磁盘上就保存着所有当前项目的历史更新,速度相对也比较快。

  • 查看本地和远程分支:git branch -a
  • 切换分支:切换到dev分支:git checkout dev
  • 查看read.txt被修改的记录:git log --pretty=oneline read.txt

  3、修改一个文件并提交到本地的流程

  •  修改read.txt内容:vi read.txt
  • 查看工作状态,比如查看read.txt为被修改状态:git status
  • 提交本次修改到本地仓库,要加上修改记录,不然无法提交:git  commit  -m  “修改read.txt”
  • 提交到本地之后,需要再次查看状态:git status
  • 重新查看read.txt的修改记录,多了一条数据。
  •  

 4、查看提交历史

  在提交了若干更新之后,又或者克隆了某个项目,想回顾提价历史,可以使用git log查看

  • git  log:显示所有提交日志
  • git log -p 2:显示最近两次提交日志
  • git log --pretty =oneline(显示所有commitid记录和提交日志)
  • git reflog(本地执行的git相关命令)

  5、撤销操作

  • git commit -amend(修改提交日志内容或者补充提交文件)
  • git reset HEAD file(取消暂存区执行的add操作)
  • git checkout --file(取消已修改但未add到暂存区的文件,如果不加 --file,直接“.”,则是放弃所有修改:该命令要慎用)
  • git checkout .(放弃所有修改:该命令要慎用)

  6、回退操作

  • git reset -mixed:此为默认方式,不带任何参数的git reset,即是这种方式,它回退到某个版本,只保留源码,回退commit和index信息
  • git reset -soft:回退到某个版本,只是回退了commit的信息,不会恢复到index file一级,如果还要提交,直接commit即可
  • git reset -hard:彻底回退到某个版本,本地的源码也会变成上一个版本的内容

二、git的远程操作

    要参与任何一个git项目的协作,必须要了解如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外的可以写。

 同其他人协作开发某个项目,需要管理这些远程仓库,以便推送或者拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程仓库,移除废弃的远程库,

管理各式远程分支,定义是否跟踪这些分支等等。

  1、从远程取得项目的Git仓库

  git clone  https://gitnew.hundsun.com/caixm/test02.git

   2、远程仓库的使用

  • 显示远程仓库地址:git remote -v
  • 增加远程仓库地址:git remote  add remote-URL
  • 修改现有远程仓库地址:git remote set-url test URL
  • pull的命令等于:git pull ==git fetch remote-url&&git merge branch
  • 提交到远程仓库:git push origin master

3、打标签

同大多数VCS一样,git也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如V1.0等)的时候,经常这么做。

  • 显示标签:git tag 
  • 打标签:git tag -a V2.5 -m “gitlab”
  • 在某个commitid上打标签:git tag -a v2.6 commitid
  • 模糊匹配V2.*开头的标签:git tag -l “V2.*”
  • 删除标签,删除后推送到远程仓库,执行git push:git tag -d V2.6

 4、分支管理

  •  创建并切换分支,在该分支上修复bug:git checkout -b hotfix
  • bug完成修复后,切换到master,再合并hotfix到master:git checkout master
  • 删除hotfix分支:git branch -d hotfix
  • 查看本地分支和远程分支情况:git branch -a
原文地址:https://www.cnblogs.com/chhyan-dream/p/12037209.html