git命令和技巧

Posted on 2021-02-15 00:09  猫头唔食鱼  阅读(58)  评论(0编辑  收藏  举报

git的add和提交

git add 文件夹名

这个命令会把整个文件夹,包括里面的所有文件,暂存


git add 文件名

暂存单个文件


查看提交状态

git status -s 

A 已经git add的文件

M 被修改过的文件

?? 新建的还没执行git add的文件


忽略文件

新建.gitignore文件,配置忽略文件

/test

/test 表示test文件夹和文件内容全都不会被提交


查看未暂存的新变更

git diff 

如图,test.html文件里有新增内容 “1111”


强制删除文件或文件夹(删除了目录也没了)

删除文件夹

git rm -r 文件夹名 -f 

删除文件

git rm -r 文件夹名/文件名 -f

删除文件的暂存,但是本地目录依然存在,且取消对文件的跟踪

git rm -r 文件夹或文件 --cached

这样,文件夹或者文件就不会被添加到暂存区

如果要提交,可以重新git add

删除文件的暂存,但是本地目录依然存在,且不会取消对文件的跟踪

git reset HEAD 文件名

注:上面说的是取消文件暂存,而不是取消文件的提交(commit)

git rm -r xxx--cached 和 git reset HEAD xxx的区别(答案来自百度):

重命名文件 & 移动文件

1.这条命令会直接修改文件名称
git mv 原来的文件名 现在的文件名
2.这条命令会把文件移动到新文件夹里
git mv 原来的文件 其他目录/原来的文件

查看提交历史

1.查看全部提交历史

git log 

2.查看最近2次的提交历史

git log -2 

3.查看提交详情

git log -p

4.查看最近两周提交详情

git log -p --since 2.weeks

5.查询含有某个字符串的提交历史

这条命令会查询出含有test字符串的提交历史

git log -Stest -p

查找字符串内容的两个方法

1.上面说的 git log -Sxxxx -p 查找提交历史
2.使用 git grep -n xxx 查找字符串xxx所在的文件以及行数

查找字符串出现次数和出处

 git grep --count xxx


查找字符串在哪个方法中出现

git grep -p xxx


删除未跟踪文件

1.删除未跟踪文件,删了的文件再也不能找回的,所以,要先执行以下命令,先查看会删除哪些文件

git clean -d -n 

执行该命令后,git 会提示有将会删除哪些文件


2.如果确认了该文件真的没用了,需要移除,那么可以执行删除命令

git clean -d -f 

执行该命令后,git会提示已经被删除的文件


覆盖提交

场景:

提交了之后,发现没有注释掉console,又要重新提交一次,那这样就会有两个提交记录,如果只想保留最后一次提交记录,那么可以使用以下命令

git commit --amend -m'提交信息'

例如:

git commit -m'第一次提交'
git commit --amend -m'修改之后的提交'

查看远程仓库

git remote 

或者

git remote -v 

git标签

1.添加标签

git tag -a vxxx -m'msg'

例如 ,创建v1.4版本标签

git tag -a v1.4 -m'1.4版本'

2.查看所有标签

git tag


设置git别名

设置别名的作用:

可以简写一些命令,git commit -m'xxx' ,通过设置,可以简写成 git cm -m'xxx'

(1)commit 设置成cm

git config --global alias.cm commit   

(2) add 设置成ad

git config --global alias.ad add 

(3) checkout 设置成co

git config --global alias.co checkout

创建和查看分支

1.创建分支

git branch xxx

2.查看分支

git branch

3.切换分支

git checkout xxx

4.创建并切换分支

git checkout -b xxx