美文网首页
git常用命令

git常用命令

作者: Bai_白 | 来源:发表于2021-03-04 16:48 被阅读0次

参考:廖雪峰的git教程

  • git init
    把这个目录变成Git可以管理的仓库

  • git add
    把文件添加到仓库(实际上就是把文件修改添加到暂存区)
    git add readme.txt 添加单个文件
    git add ./ 添加全部缓存文件

  • git commit -m "XXXXX"
    把文件提交到仓库,"XXXX"是本次提交的说明(际上就是把暂存区的所有内容提交到当前分支)

  • git status
    查看仓库当前的状态

    git status
  • git diff <file>
    查看readme.txt文件具体修改了什么内容

    git diff readme.txt
  • git log
    显示从最近到最远的提交日志
    git log --pretty=oneline 减少输出信息
    git log --graph 可以看到分支合并图

  • git reset
    版本回退或把暂存区的修改回退到工作区
    在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100。
    回退到上一个版本 git reset --hard HEAD^
    想要回退到某个版本号 git reset --hard 1094a(1094a为你想要回退的那个版本的commit id,版本号没必要写全,前几位就可以了,Git会自动去找)
    git reset HEAD <file> 可以把暂存区的修改撤销掉,重新放回工作区。

  • git reflog
    记录每一次命令

    回退版本
  • git checkout -- <file>
    丢弃工作区的修改

    git checkout -- readme.txt
    撤销修改
  • git rm <file>
    删除一个文件
    先手动删除文件或者用rm命令删,然后使用git rm <file>和git add<file>(效果是一样的),并且git commit。
    另一种情况是删错了,因为版本库里还有,所以可以通过$ git checkout -- test.txt,把误删的文件恢复到最新版本。
    PS:从来没有被添加到版本库就被删除的文件,是无法恢复的!

  • git remote add origin <address>
    关联一个远程库

  • git push
    推送
    git push origin master 推送master分支的所有内容
    git push -u origin master 第一次推送(加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来)

  • git remote -v
    查看远程库信息
    git remote -v 显示更详细的信息

  • git remote rm <name>
    删除远程库(根据名字删除)
    比如:git remote rm origin

  • git clone <address>
    克隆一个本地库


分支模块
  • git branch
    查看分支(当前分支前面会标一个*号)
  • git branch <name>
    创建分支
  • git checkout <name> 或者 git switch <name>
    切换分支
  • git checkout -b <name> 或者 git switch -c <name>
    创建+切换分支
    git checkout -b dev origin/dev 创建远程origin的dev分支到本地
  • git merge <name>
    合并某分支到当前分支
    git merge --no-ff -m "XXXX" <name> 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史能看到分支(因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去)
  • git branch -d <name>
    删除分支
    git branch -D <name> 丢弃一个没有被合并过的分支,强行删除
  • git stash
    把当前工作现场“储藏”起来(当手头工作还没有完成时)
    git stash list 查看
    恢复方法:1. git stash apply恢复,但是恢复后,stash内容并不删除,需要用git stash drop来删除
    2. git stash pop,恢复的同时把stash内容也删了
    git stash apply stash@{0} 恢复指定的stash
  • git cherry-pick <commit>
    把bug提交的修改“复制”到当前分支(即在master分支上修复的bug,想要合并到当前dev分支)
    bug对应的commit
  • git pull
    从远程抓取分支
    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
标签模块

tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

  • git tag
    查看所有标签
  • git tag <name>
    打一个新标签
    git tag <name> <commit> 给历史提交打上标签
    PS:标签不是按时间顺序列出,而是按字母排序的
    git tag -a <name> -m "XXXX" <commit> 创建带有说明的标签,用-a指定标签名,-m指定说明文字
    PS:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签
  • git show <tagname>
    查看标签信息
  • git tag -d <tagname>
    删除本地标签
    git push origin :refs/tags/<tagname> 从远程删除标签
  • git push origin <tagname>
    推送某个标签到远程
    git push origin --tags 一次性推送全部尚未推送到远程的本地标签
其他配置
  • git config --global color.ui true
    让Git显示颜色
  • git add -f <file>
    强制将忽略文件添加到Git
  • git check-ignore -v <file>
    检查.gitignore的配置
  • git config --global alias.st status
    配置别名(git status -> git st)
    -global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

相关文章

网友评论

      本文标题:git常用命令

      本文链接:https://www.haomeiwen.com/subject/afihqltx.html