zoukankan      html  css  js  c++  java
  • git 使用指南

    git 基本架构:

    git 的本地仓库是它与其它代码托管工具相比的主要特征。

    Index

    Git维护代码分为三部分

      当前工作目录 <->index file <->本地 git仓库

      ls -a

      cd .git

      

    基本使用:

    1.安装git yum install git

    2.在 github上创建项目

    3.Linux中创建pub key (ssh-keygen),把公共密钥导入github。(.ssh/id_rsa.pub内容粘贴到github下的 Settings => SSH and GPG keys => New SSH key)

    4.克隆项目 git clone git@***

    5.比如我进入目录后新建文件touch README.md

      git add README.md

      git commit -m "add README"

      git push -u origin master  #(origin :地址 库别名; master : 分枝)

      好了,这时候再去到github上这个project就会看到多了README.md

    6.也可以提交文件夹,但是git不能提交空文件夹,里面必须需要有东西

      也是一样的操作,这里注意如果git commit  的时候没有加参数的话,就会跳出vi窗口输入。

      git add . #当前目录下所有更新的文件目录都add

      也可以指定文件夹名 git add tesrDir

    7.git status #显示uncheck的文件目录

    8.git config

      git config --global user.name "***"      #配置提交代码的时候显示的名称

      git config --global user.email "***"      #配置提交代码的时候显示的邮箱

      git config --global color.ui true      #配置查看改变(git diff 工作目录和Index的差别)时候界面显示的友好度

      git config --global alias.co checkout    #配置命令别名,其它的类似

      git remote add origin git@host:project.git  #添加远程版本库origin

      git config #体现在 cat ~/.gitconfig

      git config -l #列出所有config

    其它命令和解释:

      git show # 显示最近一次改变

      git log #修改日志 本地仓库

      git add .  #将所有修改提交到Index

      git add <file> # 将文件修改提交到Index

      git commit <file> # 将修改提交到本地仓库

      git commit #将所有add提交到本地库

      git commit -a # 将git add(或git rm)和git commit等操作都合并在一起做

      git commit -am "some comments" 

      git reset --mixed # 默认参数,恢复index中的修改,已经add但还未commit的修改可以用它reset

      git reset --soft HEAD~1 # 恢复commit中修改,index中保留

      git reset --hard <version> # 将本地文件空间恢复为指定的版本,同时修改所有的index及本地库

      git reset (--soft | --mixed | --hard) <version> <file> 

      git revert <version> # 撤销某次提交,撤销动作本身也创建了一次提交对象 git revert HEAD # 撤销最后一次提交 

      git rm readme.txt #从版本库中删除文件,但不删除文件

      git rm -cached readme.txt #重命名文件
      git mv reademe.txt readme 

      

      git diff <file> # 比较当前文件和index文件差异 git diff
      git diff <V1> <V2> # 比较两次提交之间的差异

      git diff --cached # 比较index与本地库差异

      git diff HEAD #比较工作版本与HEAD(本地库)的差异 

      

      git log
      git log <file>    # 查看该文件每次提交记录

      git log -p <file>  # 查看每次详细修改内容的diff

      git log -p -2  # 查看最近两次详细修改内容的diff 

    分枝 branch

      git branch -r # 查看远程分支

      git branch -a # 查看所有分支
      git branch <new_branch> # 创建新的分支
      git branch -v # 查看各个分支最后提交信息

      git checkout <branch> # 切换到某个分支
      git checkout -b <new_branch> # 创建新的分支,并且切换过去
      git checkout -b <new_branch> <branch> # 基于branch创建新的new_branch

      git checkout <version> # 把某次历史提交记录checkout出来,但无分支信息,切换 到其他分支会自动删除

      git checkout <version> -b <new_branch> # 把某次历史提交记录checkout出来,创建成一 个分支

      git branch -d <branch> # 本地删除某个分支 

      git push origin :new # 远端删除

    Merge and Rebase

      git merge # 将branch分支合并到当前分支 

      git rebase master # 将master rebase到branch,没有branch时为当前branch  以master分支为主,

                 有冲突会提示错误,进入文件修改后 git add 然后 git rebase --continue

       

      git pull # 获取远程仓库所有分支更新并合并到本地

      git pull <remote_name> <branch_name> #获取指定仓库指定分支的代码

       git fetch origin # 抓取远程仓库更新

      git fetch origin master:tmp

      git diff tmp git merge tmp

      

      

      

        

  • 相关阅读:
    VSS使用
    Delphi简单数据库连接程序
    为表增加字段与拷贝数据到另一个表
    VSTS 使用
    Delphi实现个相似的功能界面共用一个窗体
    看代码笔记
    数据库安全管理
    函数
    【USACO】Ordered Fractions 顺序的分数
    C# 专业数据库连接配置界面
  • 原文地址:https://www.cnblogs.com/futurehau/p/6443706.html
Copyright © 2011-2022 走看看