Git命令总结

2018-12-26  本文已影响0人  鹿特丹的风

基础命令

初始化Git仓库:git init

添加修改至暂存区:git add <filename>

修改推送至仓库:git commit -m "here is comment"

掌握工作区状态:git status

查看修改内容:git diff

从版本库里删除文件:git rm <filename> + git commit -m "here is comment"

版本回退

退回某一历史版本:git reset --hard commit_id

查看提交历史(找到要回退的版本号):git log

查看提交历史并单行展示:git log --pretty=oneline

查看命令历史(找到要未来的版本号):git reflog

查看版本库里特定版本(例如HEAD)与工作区版本的区别:git diff HEAD -- <filename>

撤销修改/删除

把暂存区的修改重新放回工作区:git reset HEAD <filename>

让文件回到最近一次git commit或git add的状态(即用版本库里的版本替换工作区的版本):git checkout -- <filename>

GitHub

关联远程库:git remote add origin git@github.com:kexinlin/learngit.git

把本地库的所有内容推送至远程库并进行关联:git push -u origin master

把本地库的最新修改推送至远程库:git push origin master

从远程库克隆一个本地库:git clone git@github.com:kexinlin/gitskills.git

查看远程库:git remote

查看远程库详细信息:git remote -v

创建远程分支到本地:git checkout -b <name> origin/<name>

推送其它分支:git push origin <name>

设置本地分支和远程的连接:git branch --set-upstream-to=origin/<name> <name>

把最新提交从对应的远程分支上抓下来进行合并:git pull

分支与协作

创建分支:git branch <name>

切换分支:git checkout <name>

创建并切换至分支:git checkout -b <name>

查看当前分支:git branch

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

(如果fast-forward merge失败的话,需要手动解决冲突,然后add+commit,最后删除分支)

查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit

禁用fast forward从而保留分支历史:git merge --no-ff -m "comment here" <name>

储存当前工作现场:git stash

恢复工作现场:git stash apply

删除stash:git stash drop

恢复工作现场并删除stash:git stash pop

查看stash list:git stash list

强制删除已经commit过但尚未进行合并的分支:git branch -D <name>

变基与标签

变基:git rebase <branchname>

对当前分支打一个标签:git tag <tagname>

查看所有标签:git tag

给某个commit打上标签:git tag <tagname> <commit id>

查看某标签信息:git show <tagname>

创建带有说明的标签:git tag -a <tagname> -m "comment here" <commit id>

推送一个本地标签至远程:git push origin <tagname>

推送所有本地标签至远程:git push origin --tags

删除本地标签:git tag -d <tagname>

从远程删除标签:git push origin :refs/tags/<tagname>

上一篇 下一篇

猜你喜欢

热点阅读