git基本操作命令

$ git init 创建git仓库

$ git add 将工作区文件添加进暂存区

$ git add -f 强制添加

$ git chech-ignore -v 检查.gitignore规则与该文件的冲突

$ git commit -m 暂存区文件提交至仓库,-m为此次提交的备注

$ git status 查看仓库当前状态

$ git diff 查看文件修改内容

$ git log 查看提交历史

$ git reflog 查看命令历史

$ git reset --hard 回退历史版本,HEAD指向当前版本,HEAD^表示上一个版本,上n个版本可以写成HEAD~n

$ git checkout -- 撤销工作区的修改,注意--。如文件为被提交至暂存区,文件将回退到与版本库一致,否者回退到与暂存区一致

$ git reset HEAD 撤销暂存区的修改

$ git rm 从版本库中删除该文件

$ git branch 查看分支

$ git branch 创建分支

$ git checkout $ git switch 切换分支

$ git checkout -b $ git switch -c 创建并切换到分支

$ git branch -d 删除分支

$ git branch -D 强行删除分支

$ git merge 将分支合并到当前分支上

$ git merge --no-ff -m "merge with no-ff" 同样是合并分支, 其中--no-ff参数表示禁用Fast forward模式,而此次合并会创建一次新的commit,加上-m参数可以添加commit表述

$ git stash 储存现有文件状态,保留工作现场

$ git stash list 查看stash保存记录

$ git stash apply$ git stash apply stash@{} 恢复最近保存状态或指定的stash,但不会删除stash内容。可以用git stash list查看

$ git stash drop 删除stash内容

$ git stash pop 恢复并删除stash内容

$ git cheey-pick 将某次提交到当前分支,避免重复劳动

$ git rebase 将本地末push的分叉提交历史整理成直线


与远程仓库相关指令

$ git remote add 将本地仓库与远程库关联。git的远程仓库名称默认为origin,可自定义其他名称。

例如:$ git remote add origin [email protected]:michaelliao/learngit.git

$ git clone 将远程库克隆到本地,一般只会克隆master分支

$ git checkout -b / 在本地建立与远程分支相对应的分支,本地与远程分支名一致方便管理

$ git push -u master 将master分支的所有内容推送到远程库,master可以替换成其他分支,需与远程库对应。

此后,可以使用命令$ git push origin master推送最新修改

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

$ git remote rm 删除远程库

$ git pull 抓取远程的最新提交

$ git branch --set-upstream / 建立本地分支与远程分支的关联,在提示no tracking information,则说明本地分支和远程分支的链接关系没有创建。


操作标签命令

$ git tag 查看标签

$ git tag 在当前分支HEAD打上标签

$ git tag -a -m 在某次提示上打上带说明的标签,-m指说明文字,-a指定标签名,均可选用

$ git tag -d 删除某个标签

$ git push :refs/tags/ 删除一个远程标签

$ git push 将某个标签推送到远程

$ git push --tags 将全部标签推送到远程

注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。


改写配置文件

$ git config --global alias. 简写命令,例如:

$ git config --global alias.unstage 'reset HEAD'

当敲入命令:

$ git unstage test.txt

实际Git执行的是:

$ git reset HEAD test.txt

亦或者这样,用co表示checkoutci表示commitbr表示branch

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。

每个仓库的配置文件都放在.git/config文件中。


该文章为个人学习git后的一些学习总结,如果错漏,欢迎补充。更详细的内容可以到git教程,雪峰老师写的文档写的很棒,欢迎大家围观

你可能感兴趣的:(gitgithub)