常用命令
添加文件到仓库
git add readme.txt
提交文件到仓库
git commit -m "the commit name"
查看版本记录
git log
git log --pretty=oneline
将文件变更到指定版本
git reset --hard "版本名称"
如git reset --hard HEAD^
查看分支状态
git status
查看指定文件的工作区和版本库最新版本的区别
git diff HEAD -- readme.txt
撤销修改
git checkout -- readme.txt
将本地分支推送到远程库
git push -u origin master
#-u参数:如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
从远程库克隆项目
git clone git@github.com:PY-WANG/hello-world.git
创建分支dev
git branch dev
切换分支dev
git checkout dev
创建并切换到分支dev
git checkout -b dev
合并分支dev到当前分支
git merge --no-ff -m "merge with no-ff" dev
#--no-ff表示禁用Fast forward(这种模式删除分支后,会丢掉分支信息)
#强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
#-m表示后接的字符串未merge操作的名称
删除分支dev
git branch -d dev
将远程git仓库里的指定分支拉取到本地(本地不存在的分支)
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
执行
git checkout -b develop origin/develop
返回:
Branch 'develop' set up to track remote branch 'develop' from 'origin'.
Switched to a new branch 'develop'
若出现:
fatal: Cannot update paths and switch to branch 'dev2' at the same time.
Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
先执行
git fetch
再重新执行。
git fetch与git pull的区别
转载:https://www.cnblogs.com/qiu-Ann/p/7902855.html
1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并
也可以用以下指令:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp //將當前分支和tmp進行對比
git merge tmp //合并tmp分支到当前分支
2、 git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
git 清除未监视的文件Untracked files
删除 untracked files
git clean -f
连 untracked 的目录也一起删掉
git clean -fd
连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd
更新.gitignore文件
1、更新.gitignore文件
2、重置缓存
git rm -r --cached .
3、重新添加所有文件
git add .
4、提交更改
git commit -m "update .gitignore"
参考资料
https://www.liaoxuefeng.com/wiki/896043488029600
https://www.cnblogs.com/hamsterPP/p/6810831.html