Git初学-常用命令
最近刚接触Git版本控制,作为一个初学者,参考廖雪峰老师的教程学习Git,受益匪浅,感谢之际,把在学习过程中用到的一些常用命令做一个集合。
-
时光机穿梭
git status
查看当前工作区状态(可修改,可提交)
git diff
文件名 查看文件的修改情况
git add
文件名 将文件暂存到本地
git commit -m “描述信息”
提交修改
git commit -m -a “描述信息”
将所有已修改和已删除且已经被git管理的文档提交到仓库中,如果是提交已经被git管理了的已修改或以删除的文档,是没必要使用git add命令的
git commit --amend
如果已经修改并提交完成,此时想要修改描述信息,可食用此命令,使用后自动调出编辑框,修改保存即可
git log 查看历史记录
git log --pretty=oneline
查看历史记录(单行显示)
git reset --hard head^/head^^/head~1
自从指定commit以来在工作区所有的修改提交都丢弃,并将head指向commit
git reset --soft head^/head^^/head~1
工作区中的内容不做任何改变,仅仅把head指向commit(可用于将多次commit合并为一次commit)
git reflog
查看之前输入的命令历史记录
git checkout -- <file>
当工作区文件被修改,尚未暂存并且想要丢弃这些修改时,可使用该命令
git reset HEAD <file>
可把暂存区的修改撤销掉
git remove <file>
删除暂存区中的文件,然后再commit
git clone <address>
从远端克隆
git checkout -b 分支名
创建并指向新的分支,相当于git branch 分支名 + git checkout 分支名
-
分支管理
git branch
查看当前分支
git branch -a
查看所有分支
git merge <name>
合并某分支到当前分支
git branch -d <name>
删除分支
git log -- graph
查看分支合并图
git merge --no-ff -m “描述信息” <name>
强制禁用Fast forward模式 合并,合并完成后会产生一次commit,这样从分支历史上就可以看出分支信息
git stash
将当前工作现场保存起来
git stash list
查看保存的副本列表
git stash apply
恢复但不删除副本
git stash drop
删除副本
git stash pop
恢复同时删除副本
git branch -D <name>
强行删除分支
git remote -v
查看远程库信息
git push origin branch-name
从本地分支推送
git checkout -b branch-name origin/branch-name
在本地创建与远程分支对应的分支,分支名最好一样
git branch --set-upstream branch-name origin/barnch-name
建立本地分支和远程分支的关联
git pull
从远程抓取分支,如有冲突,要先处理冲突
git fetch
从远程获取最新版到本地,不会自动merge
git rebase
把一个分支的修改合并到当前分支
-
标签管理
git tag <name> <commit-id>
给某次提交创建标签,commit-id可以不填,则默认创建给最新的提交
git tag
查看标签,按字母排序
git show <tag-name>
查看标签信息
git tag -a <name> -m “描述信息” <commit-id>
创建带有说明的标签
git tag -s <name> -m “描述信息” <commit-id>
使用PGP签名创建标签
git tag -d <name>
删除一个本地标签
git push origin <tag-name>
推送某个标签到远程
git push origin --tags
一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/tagname
在删除了本地标签后,此命令可用于删除远程标签
-
自定义git
git config --global alias.st status
将status配置别名为st
学会了这些命令,就能应付日常工作的git管理啦~