美文网首页
git 简单操作

git 简单操作

作者: 我好芒 | 来源:发表于2016-10-31 17:55 被阅读0次

    常用命令

    git init 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行
    cat .gitignore 查看.gitignore的内容即查看忽略哪些文件
    git config --list 查看git配置
    git status 查看当前git仓库状态 已暂存和未暂存的更新
    git add . 将所有未跟踪的文件加到暂存区
    git rm a.txt 删除a.txt文件(跟踪清单和工作区都删)
    git rm --cached a.txt 删除a.txt文件(跟踪清单中删除,工作目录下还有)
    git commit 进入vim模式 第一行填写提交信息 填写完成后按esc 退出 :wq 保存退出。
    git commit -m "aaa" 提交 aaa为本次提交的信息
    git commit -a 提交所有 包括还没有暂存的 跳过git add 步骤
    git reset HEAD <file>... 取消某一个文件的暂存
    git reset --hard ID 回退某一版本 id为 commit id。
    git log 查看提交记录
    git log -p -2 -p 选项展开显示每次提交的内容差异,用 -2则仅显示最近的两次更新:
    git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
    git remote -v 显示对应的克隆地址
    git branch -a 查看所有分支
    git branch a 新建a分支
    git merge b 分支 合并b分支内容到当前的分支
    git checkout a 切换到a分支
    git branch -d a 删除本地a分支
    git push origin --delete a 删除远程分支a
    git push origin 本地分支名:远程分支名
    git push (远程仓库名) (分支名)
    git push origin dev
    取出本地的 dev分支,推送到远程仓库的 dev 分支中去
    git push origin local_branch:remote_branch 推送本地local分支内容到远程remote分支
    git push origin :remote_branch,local_branch留空的话则是删除远程remote_branch分支。
    远程先开好分支然后拉到本地
    git checkout -b feature-branch origin/feature-branch //检出远程的feature-branch分支到本地
    本地先开好分支然后推送到远程
    $ git checkout -b feature-branch //创建并切换到分支feature-branch
    $ git push origin feature-branch:feature-branch //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)
    git remote show pb 查看某个远程仓库的详细信息,比如要看克隆的 pb仓库
    git remote rm pb 删除远程仓库
    git checkout master file_name //放弃当前对文件file_name的修改
    $ git checkout .
    这条命令把 当前目录所有修改的文件 从HEAD中签出并且把它恢复成未修改时的样子.
    注意:在使用git checkout 时,如果其对应的文件被修改过,那么该修改会被覆盖掉。
    查看本地标签:
    git tag
    新建标签:
    git tag -a v2.0.40 -m "v2.0.40"
    推送所有标签:
    git push --tags
    删除本地标签:
    git tag -d 标签名
    事实上Git 的推送和删除远程标签命令是相同的,删除操作实际上就是推送空的源标签refs:
    推送某个标签
    git push origin 标签名
    相当于
    git push origin refs/tags/源标签名:refs/tags/目的标签名
    所以,删除远程标签可以把源标签为空:
    git push origin :refs/tags/标签名
    在Git v1.7.0 之后,可以使用这种语法删除远程标签:
    git push origin --delete tag 标签名

    远程仓库的使用

    拉取github上的代码到本地

    方式一:

    在要存放的目录下:执行
    git clone git://github.com/paulboone/ticgit.git github上的clone地址 从无到有

    方式二:

    在要存放的目录下:执行
    git init
    git remote add pb git://github.com/paulboone/ticgit.git 添加远程仓库 该仓库在本地名字为pb(可更改)

    拉取远程分支并创建本地分支

    git checkout -b 本地分支名x origin/远程分支名x
    使用该方式会在本地新建分支x,并自动切换到该本地分支x。
    git fetch origin 远程分支名x:本地分支名x
    使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

    Git中从远程的分支获取最新的版本到本地有这样2个命令:

    1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
      以上命令的含义:
      首先从远程的origin的master主分支下载最新的版本到origin/master分支上
      然后比较本地的master分支和origin/master分支的差别
      最后进行合并
      上述过程其实可以用以下更清晰的方式来进行:
      git fetch origin master:tmp
      git diff tmp
      git merge tmp
      从远程获取最新的版本到本地的test分支上 之后再进行比较合并
    2. git pull:相当于是从远程获取最新版本并merge到本地
      git pull origin master
      上述命令其实相当于git fetch 和 git merge在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并。

    上传github代码

    git remote add origin git@github.com:InstanceFeiben/Test.git(git@github.com:InstanceFeiben/Test.git为SSH地址,在GitHub上复制)命令将本地仓库与远程仓库取得关联,最后在通过git push -u origin master命令将代码push到GitHub。

    相关文章

      网友评论

          本文标题:git 简单操作

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