• git基本使用


    1:下载 window git

    2:设置ssh key秘钥

    (1)       Generating a new SSH key

    在 git 命令窗口操作

    ssh-keygen -t rsa -b 4096 -C your_email@example.com

    (2)Adding a new SSH key to your GitHub account

         clip < ~/.ssh/id_rsa.pub

         此时已经复制了你的ssh key 在设置界面添加入你的账户

      

    (3)克隆的时候出现问题百度了一堆,配置ssh,原来只需要在clone不要直接回车,直接输入yes就可以了。

    3:初步了解git

      创建一个文件提交到git目录下

      git  status     //查看当前状态

    git  log       //查看当前日志  --oneline 选项来查看历史记录的简洁的版本。

    git  log –autho  //按照作者查看 我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。

      git  add       //命令可将该文件添加到缓存

      git  commit    //提交

      git  push      //发布到远程

      git  reset HEAD //可以把版本库中的文件恢复到暂存区index的状态

      当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

      git rm --cached <file>  //清除暂存区的数据

      git checkout ." 或者  "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。

      git init  创建一个仓库该命令执行完后会在当前目录生成一个 .git 目录。使用我们指定目录作为Git仓库。

      git clone 我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

      git clone <repo> <directory> 参数说明: repo:Git 仓库。directory:本地目录。

      git rm <file> 删除工作区域的目录

      git diff      此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异

    也就是修改之后还没有暂存起来的变化内容。

      git reflog    用来记录你的每一次命令:

    工作区:就是你在电脑里能看到的目录。

    暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

    版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    4:git的工作流程

    一般工作流程如下:

    (1)克隆 Git 资源作为工作目录。

    (2)在克隆的资源上添加或修改文件。

    (3)如果其他人修改了,你可以更新资源。

    (4)在提交前查看修改。

    (5)提交修改。

    (6)在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

    5:解决冲突

    (1)       当下载后双方提交的时候会显示当前不是最新版本,表示修改有冲突的地方,需要合并代码进行解决问题的冲突。

      hint: (e.g., 'git pull ...') before pushing again. //合并之前git pull命名

      // git pull 自动合并文件然后你可以进行更改

    (2)       各位同学一定要看英文的内容,先翻译一下,git pull 报错ssh错误

      ssh: connect to host github.com port 22: Connection timed out

      解决办法:在.ssh生成的ssh key 文件下创建config文件

      添加以下内容:

    Host github.com

    User YourEmail@163.com

    Hostname ssh.github.com

    PreferredAuthentications publickey

    IdentityFile ~/.ssh/id_rsa

    Port 443

    (3)       此时报的合并分支的错误

    Auto-merging frist.txt

    CONFLICT (content): Merge conflict in frist.txt

    Automatic merge failed; fix conflicts and then commit the result.

    需要我们自己调整自己提交的错误

    ==是用来区别发生冲突的地方

    6:分支操作

       创建分支命令:  git branch  branch1   git branch (branchname)

       切换分支的命名:git checkout branch1

       合并分支:      git merge

       切换创建分支:  git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作。

       删除分支:      git branch -d (branchname)

      

    (1)创建分支

      git branch    branch1

      git checkout  branch1

      git add .

      git commit –m “备注”

    git push

    git push --set-upstream origin branch1

    git checkout master //切换到主分支

    git pull  //更新一下当前的分支

    git merge master  //把当前分支合并到master分支

    (2)使用branch2分支来修改同一个文件来合并分支操作

    同样的操作

    git pull

    git push

    //报冲突的错误跟上面添加冲突类似

    git pull //解决定位的冲突然后合并分支

    正确步骤:

    1. git init //初始化仓库.

    2. git add .(文件name) //添加文件到本地仓库.

    3. git commit -m "first commit" //添加文件描述信息.

    4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支.

    5. git pull origin master // 把本地仓库的变化连接到远程仓库主分支.

    6. git push -u origin master //把本地仓库的文件推送到远程仓库.

    执行命令后,git会弹出一个GitHub登陆的小界面,你登录成功后要求你输入用户名和密码。这里的密码并不是你的GitHub的密码或者本地git的密码。

  • 相关阅读:
    requireJS的优化工具 ---- r.js
    requireJS基本配置相关
    利用thread和sleep生成字符串的伪随机序列
    操作系统虚拟内存中的四种典型页替换算法(OPT,LRU,FIFO,Clock)
    考虑一个特殊的hash函数h,能将任一字符串hash成一个整数k……
    二叉树的遍历(C++非递归实现)
    判断一点是否在一条射线的左边
    如何判断单链表是否存在环
    移位数组的二分查找
    字符串相关函数的实现
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12130246.html
Copyright © 2020-2023  润新知