Git随笔

一些概念就不在赘述了,直接开启命令学习之旅!

1、配置git环境

初次使用git,或者进入新公司,如果需要使用到git,都会先进行用户名以及邮箱的配置,这会作为当前机器的git的标识,并且会在拉取、提交代码的时候进行记录

命令格式:

git config [--global]

参数讲解:

config:用来配置git环境

--global:表示配置的是当前用户的全局环境

用户名配置

git config user.name "你的用户名"

邮箱配置

git config user.email "你的邮箱"

如果没有配置,当遇到需要进行登录的远程仓库的时候,会需要手动输入用户名、邮箱、密码

2、创建仓库

2.1 创建本地仓库

2.1.1 git init

git init:初始化当前目录为仓库,初始化后会自动将当前仓库设置为master

2.1.2 git clone

git clone :从远程仓库拉取到本地,会在当前目录下创建一个和远程仓库同名的目录

2.2 关联远程仓库

git remote add origin [email protected]:beiszhihao/test.git

3、文件添加到本地仓库

git add a.txt:将a.txt文件添加到暂存区

git commit -m:将暂存区的文件提交到本地仓库

参数详解:

  • -m:在后面添加一些简单的描述信息

3.1 改写提交

如果我们将暂存区的文件提交到本地仓库,发现注释写错了,如何修改

  • commit再来一次:但是会多出来一次commit的记录
  • --amend:打开一个编辑器,修改上一次的提交的注释,再覆盖上一次的提交

4、查看历史提交日志

如果想要查看提交的记录,可以通过 log进行查看

git log
git reflog

5、回滚代码仓库

代码提交到本地仓库,发现有bug,需要版本回退,那可以通过reset命令操作,通过 --hard|soft|mixed进行仓库版本控制

命令格式:

git reset --hard|soft|mixed

  • --soft:已经add的暂存区和工作空间的所有东西都不变【这是撤回了commit】
  • --mixed(默认):暂存区清除,工作空间的代码不变【撤回commit,撤回add】
  • --hard:暂存区清除,工作空间清除【撤回commit,撤回add,撤回工作空间】

5.1 log id 进行回滚

git log:获取提交记录,获取前面的logid

git reset --hard 要回滚id

5.2 HEAD 进行回滚

git reset --hard HEAD^:HEAD^表示上一个版本

git reset --hard HEAD~3:HEAD~3表示回滚master前三个版本

6、对暂存区文件进行撤销

如果我们对暂存区的某个文件,进行修改,但是发现不对需要回滚,此时可以使用 checkout -- 命令

git checkout -- filename

Git随笔_第1张图片

 7、查看单个文件可回滚的版本

如果单独需要回滚某一个文件,可以查看该文件的提交日志,再进行回滚

然后在进行git ad commit的操作

git log filename:查看某个文件单独的提交日志

git reset log_id filename:回滚文件到指定版本

8、删除文件

rm filename:

git rm filename

9、分支管理

9.1 创建分支

git checkout dev:切换dev分支

git checkout -b dev:创建并切换dev分支

git branch:查看当前所在的分支

git branch -a:查看所有分支

git checkout的作用是检出,如果是文件的话,会放弃对文件的缓存区操作,但是要使用reset重置一下变更才行。

如果是分支的话会切换过去。

9.2 删除分支

删除本地分支

git branch -d 分支名

删除远程分支

git push origin --delete 远程分支名

10、合并分支

新建分支开发完成之后,想要把分支提交到master,只要切换到master分支,并执行 合并操作

# test 分支

git add .

git commit -m ''

git checkout master

git merge test

注意:

如果分支上创建的文件没有提交,那么在任何分支上的工作空间都能看到这个文件,此时切换分支在合并是会报错的

11、远程仓库推送

git push -u origin master

  • push:将本地仓库与远程仓库合并
  • -u:将本地仓库分支和远程仓库分支一起合并,就是说将master的分支也提交上去,这样你就可以在远程仓库上看到你在本地仓库的master中创建了多少分支,不加这个参数只将当前的master与远程的合并,没有分支的历史记录,也不能切换分支
  • origin:远程仓库的意思,在之前添加远程仓库时起的别名
  • master:提交本地master分支仓库

12、保存当前工作,切换分支

当我们在某个分支修改了文件,此时想要切换分支或者创建其他分支是不行的,git会报错阻止

可以先保存当前状态在切换

git stash:保存工作状态

git stash list:查看当前存储了多少工作状态

在其他分支完成工作,回到之前的分支

git checkout

git stash pop:回复最近一个存储的工作状态

stash其他命令

git stash pop:去除最后一个并删除

git stash apply:不会删除列表里的内容,默认回复最近一个

git stash apply list名称:回复指定内容

git stash drop listmingc:移除指定list

git stash clear:移除所有的list

git stash show:查看最新保存的和当前目录的差异

13、拉取远程所有分支

git fetch:把远程分支全部拉取下来,同时也包括这些分支的仓库版本,log日志等,这个操作不会进行合并

14、多人协同解决冲突

当两个分支中都对同一个文件进行修改并提交,这是进行合并的时候就会出现冲突

常pull,常关注代码提交动态

你可能感兴趣的:(Git教程,git,github)