Git
Git第一次使用的配置
#设置用户名
git config --global user.name zhaoyu
#设置邮箱
git config --global user.email 717606005@qq.com
#Git以彩色显示
git config --global color.ui auto
#创建本地数据库
git init
#显示git状态,查看临时区域是否有未更新的文件或者新添加的文件
git status
#把修改的文件添加到临时区域中
git add .
#把临时区域中新添加的文件提交到本地git中
git commit -m "#{提交信息}"
#查看git的提交记录
git log
#设置远程git地址
git remote add #{远程git项目名,可以自定义} #{http远程git的地址}
#项目push到远程git中,如果在项目中推送,直接git push即可
git push -m #{自定义的项目名} #{远程git的分支名}
#克隆远程git项目到本地
git clone #{远程git的http地址} #{克隆到本地的项目名字}
#从远程git中拉取最新的变更文件
git pull #{远程git项目名,不写默认是origin} #{分支名 默认是master}
#通过流程图一行行显示操作日志
git log --graph --online
#给长的命令添加一个简短的别名,然后就可以使用 git lg来操作这个命令
git config --global alias.lg "log --graph --oneline"
Git分支
#新建分支
#在本地主分支同级目录下创建一个新目录,在这个目录里创建git,然后添加myfile.txt
$ git init
#创建分支
$ git branch #{分支名}
#查看分支列表,当前分支是绿色的,其他的是白色的
$ git branch
#切换分支
$ git checkout #{分支名}
#创建分支并直接切换到新建的分支
$ git checkout -b #{分支名}
#删除分支
$ git branch -d #{分支名}
#把暂存区的文件放到临时区中
$ git stash
#把临时区的文件拿出到暂存区中
$ git stash pop
#清除临时区的文件
$ git checkout .
#合并分支,在主分支中进行操作
$ git merge #{要和主分支合并的分支名}
#分支合并,发现主分支也更新了,切换到当前分支,把分支的修改内容pull到当前分支中
$ git rebase #{要合并过来的分支名}
#查看冲突文件
$ git diff #{冲突文件名}
#手动修改冲突文件后,添加到暂存区,然后去除掉冲突信息
$ git rebase --continue
远程git合并类操作
#如果远程git的分支有新的内容,只想看看新内容的日志记录不合并,把整合内容记录在一个新的分支里(默认是FETCH_HEAD)供查看
$ git fetch
#看完如果想合并,就可以调用pull或者合并git merge origin master即可
#将远程git的分支拉去到当前本地分支
$ git pull origin(远程项目名 ) develop(远程分支名)
git标签命令
#为一项记录添加标签
$ git tag #{标签名}
#查看所有的标签
$ git rag -n
#删除标签
$ git tag -d #{标签名}
#创建一个分支并添加标签 并进入分支
$ git checkout -b #{分支名} #{标签名}
修改提交的命令
#提交到本地git中漏掉了一些文件,可以追加到本地git
$ git conmmit --amend -m '#{提交信息}'
#否定最后一次的本地commit提交记录
$ git revert HEAD
#清空本地git的所有提交
$ git hard
#清除掉本地conmmit的几次提交,几次就用几个~号
$ git revert --hard HEAD~~
#恢复删除的commit
$ git reset --haed ORIG_HEAD
#在节点A中,可以把节点B的指定的提交记录转移到A,这时文件可能有冲突,手动解决冲突重新commit到本地git中即可
$ git cherry-pick #{commitId}
#把最后两次提交合并成一个提交(几个~就合并后几次)
$ git rebase -i HEAD~~
#会进入到vm状态,把第二个pick改成squash保存即可