git 常用命令

在实际开发中,会使用git作为版本控制工具来完成团队协作。并对基本的git操作指令进行总结是十分有必要的

想要弄懂git是怎么对代码进行管理的,得弄懂git工作区是怎么构成的(如下图):

  •   工作区(workspace):平常开发中进行改动的地方
  •   暂存区(index):当执行git add 命令后工作区的内容会被移入暂存区,当完成某个功能或任务时需要提交代码,第一步 就是先通过git add 将本地工作区修改的代码提交到暂存区
  •   本地仓库(Repository):通过git commit 命令将暂存区的内容提交到本地仓库
  •   远程仓库(Remote):用来托管代码的服务器,通常使用clone命令将远程仓库拷贝到本地仓库中,开发完成后通过git push推送到远程仓库中即可;

 

第一次使用git,配置用户信息

  1. 配置用户名:git config --global user.name "your name";
  2. 配置用户邮箱:git config --global user.email "youremail@github.com";
  3. 查看当前用户(global)配置:git config --global  --list

查看git用户名和邮箱

  1.  git config user.name :查看用户名
  2.  git config user.email :查看邮箱

新建仓库

  1. 将工作区中的项目文件使用git进行管理,即创建一个新的本地仓库:git init

git clone

  1.  git clone URL :拉取远程代码到本地
  2.  git clone -b 分支名称 远程地址:git克隆远程分支仓库(git克隆远程仓库项目时如果不指定分支,只会克隆默认分支的内容)

git status

  1.  git status :查询当前工作区所有文件的状态

git add

  1.  git add .  :提交工作区所有文件到暂存区
  2.  git add [file1] [file2] ... : 提交工作区一个或多个文件到暂存区
  3.  git add [dir]  :提交工作区指定目录(某个文件夹中所有文件)到暂存区

重置工作区和暂存区的所有文件为原始状态

  1.  git reset -hard

git commit

  1.   git commit -m "提交内容" :提交暂存区的更改,并记录下备注
  2.   git commit  :提交暂存区的更改,会新开编辑器进行编辑
  3.   git commit -am :等同于git add . && git commit -m
  4.   git commit --amend :对最近一次的提交信息进行修改,此操作会修改commit的hash值

强制回退旧版本

  1.  git log :找到commit hash值
  2.  git reset --hard hash值:返回一次commit前的代码

git pull

  1. git pull <远程主机名> <远程分支名>:<本地分支名>  :从远程仓库拉取代码并合并到本地,可简写为 git pull 等同于 git fetch && git merge
  2. git pull --rebase <远程主机名> <远程分支名>:<本地分支名> :使用rebase的模式进行合并

       网上有针轮是先git commit 再pull还是先pull 再git commit,个人比较喜欢先git commit 之后在pull,原因

                   1. 在本地修改与远程代码无冲突的情况下,使用 pull -> commit -> push 比较好

                   2. 在本地修改与远程代码有冲突的情况下,使用 commit -> pull -> push 比较好

                   但是上面两种情况,如果都是自己开发肯定优先第一种方法(因为这样会减少Git没有必要的merge),但是项目大了难免会遇到多人开发,同时改了一个地方的代码,产生冲突的情况下,先 pull 会报错,所以保险起见先git commit 再 pull 

git push

  1. git push origin master:将完成的项目推送到远程仓库中
  2. git push origin --tags :讲本地所有的完成项目全部推送到远程仓库中
  3. git push origin --delete <branch-name>:删除远程分支(此分支必须是非默认分支)

git fetch

        与 git pull 不同的是 git fetch 操作只会拉取远程的更改,不会自动进行 merge 操作。对你当前的代码没有影响

  1. git fetch <远程主机名> <分支名> :获取远程仓库特定分支的更新
  2. git fetch --all :获取远程仓库所有分支的更新

git branch

  1. git branch :查看本地当前分支
  2. git branch -r :查看远程分支
  3. git branch -a :查看本地和远程所有分支
  4. git branch 分支名字 :新建本地分支
  5. git branch -d 分支名字 :删除本地分支 (分支被合并后才允许删除 ,把 -d 改成 -D 强制删除)
  6. git branch -m 旧的分支名字 新的分支名字 :重新命名分支
  7. git branch --merged:查看哪些分支已经合并到当前分支
  8. git branch --no-merged:查看当前哪些分支还没有合并到当前分支

git checkout

  1. git checkout --<file> :撤销上一次对文件的操作
  2. git checkout  想要切换的分支名:从当前所处的分支切换到其他分支(当切换分支的时候,需要把暂存区里面的文件进行提交,不然暂存区里面的文件会跟着到切换的这条分支上)
  3. git checkout -b <branch-name>:新建并切换到新建分支上

查看git历史

  1. history 

查看commit历史

  1.  git log
  2.  git log --summary 

git merge

  1. git merge 想要合并的分支名 :将当前分支与指定分支进行合并
  2. git merge --abort :取消一次合并代码

查看项目origin代表的地址

  1. git remote -v

 

posted @ 2021-09-13 17:06  Naynehcs  阅读(47)  评论(0编辑  收藏  举报