首先先看下面几个词,讲的特别好
、
打开idea的Terminal窗口
一.首先 git 命令开头都是 git 先讲git config
git config [--global] user.name "[你的用户名]"
git config --global user.name "[你的用户名]"
-->默认是全局的写成 git config user.name "你的用户名" 如果什么不写就是查询,下面也是一样
git config user.email "你的邮箱"
git config --global user.email "你的邮箱"
git config --list //可以查看配置
credential.helper=osxkeychain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-processfilter.lfs.required=true
user.name=xxx
user.email=xxx@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=https://github.com/xxx/house.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
git config -e 可以编辑配置文件 也就是上面看到的
二 . git 创建仓库 git init,创建分支 branch,切换分支checkout
git init 把当前目录变成git代码库
git init [目录A] 新建一个目录A,并初始化成git仓库
git branch 显示本地所有分支 和当前分支
git branch -r 显示所有远程分支
git checkout [branch] 切换到某个分支
git checkout -b [branch] 创建branch分支,并同时切换到branch分支
git branch --track [branch] [remote-branch] 让本地分支 和远程分支 建立追踪关系
git push -u origin/remote_branch 让本地当前分支和远端分支对应关系
三. git clone克隆项目,把远端整个项目下载下来
git clone [url] #此时就需要配合 git config --list 查看url 等等了
git clone [url] [我的目录] 就会新建一个目录,然后把项目名会改成我的
四. git status 查看当前状态
git status
五. git add 添加目录到缓存区
git add . 添加当前目录下所有的文件到缓冲区
git add [xx.html] [xx.html] 添加指定的文件到 缓冲区
git add [目录] 会把该目录下的(包括子目录)所有的文件 添加到git 缓冲区
六. git commit 把缓冲区内容 提交到本地仓库
git commit -m 'message' 把缓冲区的内容提交到本地仓库
git commit [file1] -m 'message' 把缓冲区指定文件添加到本地仓库
git commit -v 显示提交前和本地仓库不同的东西
git commit -a 提交到后,可以看到和上次本地仓库对比的变化
七.git pull fetch 更新代码(远程的代码更新到本地 clone是克隆下载整个的)
git pull [url] 就是把远端和本地不同的代码会下载下载,然后自动合并到本地仓库
git fetch [url] 就是拉去远端和本地的代码,下载下载,但是不会自动合并
注意:
fetch只是拉去不同的代码下载,不会自动合并,还需要自己merge
pull 则是直接下载并合并
八. git push 把本地仓库的代码 push到远程仓库
git remote add origin https://xxxxx
git push --set-upstream origin master
git push -u origin master
origin 可以用 git remote -v 查看
master 可以用 git branch -a 查看
git push [url] [branch] 把本地指定分支上传到远端git
git push [url] 把当前仓库推送到远端git
git push [url] --force 当本地和远程仓库发生冲突时候,强制推送上去
git push [url] --all 把本地所有的分支推送到远端仓库
九. 拉去分支,合并分支,删除分支
git checkout -b [local_branch] [remote_branch]
拉去远端的分支,并且会创建本地的分支,并且会自动checkout到本地分支,
还会建立关联
git fetch origin [remote branch] [local branch]
也是远端拉到本地,但是不会建立关联
git delete [branch] 删除本地的分支
git push origin -d [branch] 删除远端的分支
十.回退版本 reset
git log 查看以前提交的版本
git reflog 查看以前提交的版本记录信息
git reset --hard commit_id 回退到commit_id版本