Code Monkey home page Code Monkey logo

git-'s Introduction

一、常用命令

初始化一个Git仓库: git init

添加文件到Git仓库:

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  2. 使用命令git commit -m <message>,完成。

git status告诉你有文件被修改过 git diff可以查看修改内容

git log查看日志,规范的话可以加参数git log --pretty=oneline

git reset --hard commit_id回退版本 git reflog查看历史命令

git checkout -- <file>撤销在工作区的修改(其实就是版本库里的版本替换工作区的版本) 例如:git checkout -- readme.md

git rest HEAD <file>撤销暂存区的修改 例如:git reset HEAD readme.md

git rm <file>删除版本库中的文件

git remote add origin <origin>关联一个远程库(先有本地库后有无程库时如何关联远程库) 例如:git remote add origin [email protected]:kikyo20/Git-.git

git push -u origin master第一次推送master分支的所有内容

git clone <origin>从远程库克隆

git checkout -b dev创建dev分支并切换到dev 相当于:

git branch dev
git checkout dev

git branch 查看所有分支 git branch <name>创建分支 git checkout <name>切换分支 git branch -d <name>删除分支 git branch -D <name>强行删除分支

git merge <name>合并指定分支到当前分支(以fast forward模式合并,默认) git merge --no-ff -m <message> <name>(以普通模式合并)

git log --graph 查看分支合并图

git stash暂时储藏工作现场 git stash pop恢复工作现场且删除stash内容 git stash apply恢复工作现场但不删除stash内容 git stash drop删除stash内容

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

git push origin <name>推送到远程库 git push --set-upstream origin <name>将本地分支关联到远程分支

git checkout -b <name> <name>拉取远程分支到本地 例如:git checkout -b dev origin/dev从远程库拉取dev分支

git pull抓取远程库的最新提交 git rebase把本地未push的分叉提交历史整理成直线

git tag <tagname>创建一个新标签(默认为最新的commit) git tag <tagname> <commit id>给指定的commit打标签 git tag -a <tagname> -m <message>指定标签信息 git show <tagname>查看标签说明文字 git tag查看所有标签 git tag -d <tagname>删除标签 git push origin <tagname>推送标签到远程 git push origin --tags一次性推送所有标签到远程 git push origin :refs/tags/<tagname>从远程删除标签

二、基础知识

  1. 当前版本是HEAD,上一个版本是HEAD^,上上一个版本是HEAD^^,上100个版本是HEAD~100
  2. 多个分支时HEAD指向当前分支
  3. git add是添加文件到暂存区,git commit是把暂存区内容提交到当前分支
  4. 合并分支时以普通模式合并能看出来曾经做过合并,用fast forward模式不行
  5. 如果另一个人在远程库提交了新内容,这时会push失败,需要先git pullpush,否则提交不上去

三、常用操作

一、如果要撤销修改
  1. 撤销工作区修改,用git checkout -- <file>
  2. 撤销已添加到暂存区的修改,用git resest HEAD <file>
  3. 撤销已提交到版本库了的修改(但是还没推到远程库),直接回退版本git reset --hard commit_id
二、合并分支/解决冲突

git merge <name>合并分支到当前分支,如果有冲突,在当前分支解决后提交 例如:在master合并dev有冲突,解决冲突后在master提交,切换到dev,在dev合并master,masterdev就是相同的内容了

三、新增临时bug分支

场景:dev分支开发到一半时需要紧急处理一个bug,先git stashdev的内容“储藏起来”(1.否则得先把dev的内容提交才能切换分支2.新建的文件不能被储藏,先add),然后切换到master新建issue-101分支,处理完issue-101的bug后切回dev,git stash pop恢复内容继续完成开发任务

四、删除未合并的分支

场景:新增了一个新功能分支但还没有合并,然后这个新功能不需要了这个分支得去掉,如果直接用git branch -d删除会提示error: The branch 'feature-vulcan' is not fully merged.If you are sure you want to delete it, run 'git branch -D feature-vulcan'.,这时得用git branch -D <name>才能删除成功

五、新增本地分支并推送到远程库
  1. 新增分支dev;
  2. 推送:git push --set-upstream origin dev
六、从远程库拉取分支

默认情况下,从远程库克隆的仓库,只有master分支,其它分支需要另外拉取,例例如:git checkout -b dev origin/dev

七、操作标签(tags)

测试emoji。。。。。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.