初始化目录为git仓库
git init
克隆github远程仓库文件(/user/test是文件路径)
git clone https://github.com/user/test
git对于文件的操作与linux相似,vim,touch,mv,mkdir等命令都能直接使用。
把文件readme.txt提交到缓存区
git add readme.txt
把要提交的缓存区的文件提交到仓库,并注释提交信息(可以多次git add之后一次提交)
git commit -m "I commit one file"
查看当前仓库状态
git status
查看文件被修改了什么内容
git diff readme.txt
查看项目修改日志
git log
在git中HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本,HEAD~n上n个版本
git回退到之前的版本(回退到其他版本只需要改HEAD^为想要的版本或版本号)
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