git 常用命令

日常使用

[code lang=”bash”]

#查看当前仓库状态
$ git status

#添加所有修改的文件 || 添加指定文件或目录 到本地仓库队列中
$ git add . || git add filePath

#提交add完成的文件到本地仓库
$ git commit -m “这里是提交注释”

#再次查看当前啥情况
$ git status

#拉取远程仓库到本地仓库进行合并操作,
#此处如果远程仓库的有其他人修改并提交过相同的文件,则会出现冲突,
#git会自动进行合并操作,如果不能自动合并,则要进行手动合并,
#对相关文件进行合并后,再次返回第一条命令,如此反复
$ git pull || git pull origin master

#提交本地仓库到远程仓库
$ git push || git push origin master

[/code]

进阶使用

[code lang=”bash”]
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset –hard HASH #返回到某个节点,不保留修改。
git reset –soft HASH #返回到某个节点。保留修改
git clean -df #返回到某个节点
git clean 参数
    -n 显示 将要 删除的 文件 和 目录
    -f 删除 文件
    -df 删除 文件 和 目录
[/code]
也可以使用:
git checkout . && git clean -xdf
来进行全部恢复

git分支创建与切换

[code lang=text]
$ git checkout -b dev
Switched to a new branch ‘dev’
[/code]

创建并切换到dev分支
相当于

[code lang=text]
$ git branch dev
$ git checkout dev
Switched to branch ‘dev’
[/code]

查看当前所在分支

[code lang=text]
$ git branch
* dev
master
[/code]

‘*’表示的就是当前所在分支

查看远程分支
$ git branch -a

【当合并代码出现冲突,出现rebase的时候…】
查看丢失的commit记录
git reflog

通过丢失的commit新建一个branch分支
git checkout -b dev 5aw24s2

切换到主分支
git branch master

合并分支
git merge dev

删除dev分支
git branch -d dev

查看文件修改记录
$ git log 文件路径
查看某次提交所修改的内容
$ git show hashID
或者
$ git show hashID 文件路径