git 命令

命令介绍

Git global setup

// 查看git配置
git config --list 
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
// 设置密码
git config --global user.password xxx

Create a new repository

git clone 项目地址
cd 项目目录
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin 项目git地址
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote add origin http://git.XXXXX.git
git push -u origin --all
git push -u origin --tags

强制提交忽略的文件

git add . 和 git add * 区别
git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,但是git add * 会忽略.gitignore把任何文件都加入

//添加所有的文件
git add .
git add --all
// git 中不显示改变但是要提交 加 -f
(base) ☁  dist [master] git add *
The following paths are ignored by one of your .gitignore files:
src/main/resources/public/dist/static
Use -f if you really want to add them.
(base) ☁  dist [master] ⚡  git add * -f

// 然后正常操作
git commit -m "添加注释"
git push

回退commit的版本

场景:不小心commit了一个不应该commit的修改,但是还没有push,想撤销那个commit
回退命令:

git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id 退到/进到,指定commit的哈希码(这次提交之前或之后的提交都会回滚)
// 上述操作是把本地代码回滚到提交前的分支
//回滚后提交可能会失败,必须强制提交
//强推到远程:(可能需要解决对应分支的保护状态)
git push origin HEAD --force
// 获取要回退版本 commit_id
git log
// 回退版本
git reset --hard commit_id

命令详解

git reset --soft HEAD^

撤销了commit,如果想要连着add也撤销的话,–soft改为–hard(删除工作空间的改动代码)。

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2

--soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file
--hard
删除工作空间的改动代码,撤销commit且撤销add

commit注释修改

it commit --amend
进入vim编辑器,修改注释后保存即可。

报错问题

fatal: remote origin already exists.

1、先输入 git remote rm origin
2、再输入 git remote add origin**************

git 具体添加文件

添加一个文件

添加多个文件

1、git add 添加多个文件,文件之间以空格隔开

git add file1 file2 file3

2、多次git add

git add file1
git add file2
git add file2

3、添加指定目录的文件

// 添加flutter 目录下的所有文件
git flutter/*
// 添加flutter 目录下的所有.dart文件
git home/*.dart

4、添加文件夹

git add 文件夹名

添加以.开始的文件

git add * 命令只能提交非隐藏文件,所谓隐藏文件,就是 . 开头的文件,文件名如:.XXX

1、git add .
2、git commit -m "commit .gitignore文件"
3、git push

单独提交.gitignore文件

1、git add .gitignore
2、git commit -m "commit .gitignore文件"
3、git push