记录下git常用命令

在创建仓库后如何推送到github

1
2
3
4
5
6
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/<your github name>/<your resp name>.git
git push -u origin main #第一次推送使用命令
1
2
3
4
5
6
7
git pull #更新仓库

#这两个命令建议在推送一类文件时使用一次
git add <file name>
git commit -m "xxxxx"

git push

git常用命令

初始化仓库

1
git init

修改或者添加文件后进行的操作

1
2
git add <file name>
git commit -m "xxxxx"

查看提交日志,查看提交日志可以跟很多参数

1
git log

版本回退

1
2
git reset --hard HEAD^ #回退到HEAD的上一个版本
git reset --hard <commit_hash_id> #回退到任意版本

查看每一次命令

1
git reflog

git区分存储区和工作区,工作区的东西被修改后应该放到存储区,在修改文件后没有推送到存储区查看状态就会产生一下说明

1
git status #查看存储区状态

如果已经add到了暂存区使用一下命令

1
git restore --staged <file>

image-20220222183707805

创建分支,改变分支(switch和checkout都可以用来改变分支,推荐使用checkout)

1
2
git chenkout -b <branch name>
git checkout <branch name>

分支合并

1
git merge <branch name>

关于分支

每一次提交(commit)都会产生一个节点,创建一个分支就像创建一个新的指针,每一个分支互不影响,比如在dev分支提交(commit)产生的新节点不会影响master分支,如果使用分支合并就将master移动到了dev分支位置

关于分支冲突

首先创建一个新分支,新分支修改文件

1
git checkout -b newbranch

随后切换成master分支,再次修改文件

1
git checkout master

如果两次修改的文件位置不一样,那么在合并分支时就会将修改的文件合并,但是如果newbranch分支和master分支修改的文件位置一样,那么就会产生分支冲突,需要修改文件从而才能合并分支

冲突文件大概长这样,<<<<<和>>>>>后面所跟的是分支名,=====上下隔开的是冲突的内容

1
2
3
4
5
<<<<<<< HEAD  
branch new hhh
=======
branch feature1
>>>>>>> feature1