初始化目录为git仓库linux
git init
克隆github远程仓库文件(/user/test是文件路径)git
git clone https://github.com/user/test
git对于文件的操做与linux类似,vim,touch,mv,mkdir等命令都能直接使用。github
把文件readme.txt提交到缓存区vim
git add readme.txt
把要提交的缓存区的文件提交到仓库,并注释提交信息(能够屡次git add以后一次提交)缓存
git commit -m "I commit one file"
查看当前仓库状态ui
git status
查看文件被修改了什么内容日志
git diff readme.txt
查看项目修改日志code
git log
在git中HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本,HEAD~n上n个版本rem
git回退到以前的版本(回退到其余版本只须要改HEAD^为想要的版本或版本号)it
git reset --hard HEAD^
git reflog记录以前全部的命令
git reflog
丢弃缓存区要提交的文件(与git add相反,至关于取消add操做, 也能够理解为用仓库中的文件代替本地文件)
git checkout -- readme.txt
当文件已修改并已经git add时能够使用下面命令把文件恢复到上一次提交后的状态
git reset HEAD readme.txt
删除仓库中的文件
git rm readme.txt git commit -m "rm readme.txt"
关联远程仓库
git remote add origin git@仓库地址
把本地仓库内容推送到远程仓库(git push 至关于把当前分支master推送到远程库)
git push -u origin master//不是第一次推送就把-u去掉
克隆远程仓库
git clone git@远程仓库地址加路径
建立本身的分支在须要时合并到master主分支能够使工做更加便捷
建立本身的分支dev(也能够是其余名字)
git checkout -b dev//至关于git branch dev git checkoui dev
查看当前分支
git branch
切换分支
git checkout master //git checkout+分支名
把dev分支内容合并到master上
git merge dev //先切换到master,再执行该命令
删除分支dev
git branch -d dev
冲突处理
当合并dev到master时,master早已不是以前的版本,此时执行合并分支就会产生冲突,此时用git status命令可查看冲突文件,
git用<<<<<<<,=======,>>>>>>>来标记出不一样分支的内容
这时咱们先把冲突文件提交到master,在进行分支合并,或者只把本身作出的修改提交到主分支,就不用再合并分支了。
查看分支合并图
git log --graph