Git常用指令

503 阅读3分钟

git工作流程图

image.png

命令

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库;
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订;
  3. add(添加): 在提交前先将代码提交到暂存区;
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本;
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少;
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge;
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库;

- 设置基本信息

git config --global user.name "your name"

git config --global user.email "youremail"

- 获取本地仓库

  • [在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库 ]
  • [进入这个目录中,点击右键打开Git bash窗口]
  • [执行命令git init]
  • [如果创建成功后可在文件夹下看到隐藏的.git目录。]

git init

- 基础操作指令

git add

工作区 => 暂存区

作用:添加工作区一个或多个文件的修改到暂存区

git add 单个文件名|通配符

将所有修改加入暂存区:git add .

git commit -m "message"

暂存区 => 本地仓库

作用:提交暂存区内容到本地仓库的当前分支

命令形式:git commit -m '注释内容'

git status

作用:查看的修改的状态(暂存区、工作区)

git log[option]

作用:查看提交记录

options

  • --all 显示所有分支
  • --pretty=oneline 将提交信息显示为一行
  • --abbrev-commit 使得输出的commitId更简短
  • --graph 以图的形式显示

git reset --hard commitID

作用:版本回退,reset到对应commitID的版本

commitID 可以使用 git-log 或 git log 指令查看

- 分支管理

git branch

查看本地分支

git branch 分支名

创建分支

git checkout 分支名

切换分支

git checkout -b 分支名

切换分支,若分支不存在,则新建分支,并切换到此分支

git merge 分支名

合并分支,一个分支上的提交可以合并到另一个分支

git branch -d 分支名

删除分支时,需要各种检查

git branch -D 分支名

强制删除,不做检查

- 远程操作

git remote add <远端名称> <仓库路径>

添加远程仓库,此操作需先初始化本地库,然后与已创建的远程库进行对接。远端名称,默认是origin,取决于远端服务器设置,仓库路径,从远端服务器获取此URL;

git remote

查看远程仓库

git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]

推送到远程仓库 如果远程分支名和本地分支名称相同,则可以只写本地分支

git push origin master

-f 表示强制覆盖

--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。

eg:git push --set-upstream origin master

如果当前分支已经和远端分支关联,则可以省略分支名和远端名。

git push 将master分支推送到已关联的远端分支。

git branch -vv

查看与本地分支关联的远程分支

git clone <仓库路径>

如果已经有一个远端仓库,我们可以直接clone到本地。

git fetch [remote name] [branch name]

抓取指令就是将远程仓库里的更新都抓取到本地,不会进行合并,如果不指定远端名称和分支名,则抓取所有分支。

git pull [remote name] [branch name]

拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge,如果不指定远端名称和分支名,则抓取所有并更新当前分支。