zoukankan      html  css  js  c++  java
  • git

    1、git是什么

    分布式项目版本管理工具

    2、git下载安装

    2.1 git 官网下载

    2.1.1 命令行工具(GUI Bash)

    2.1.2 客户端工具(TotoriseGit)

    3、git使用

    3.1 git命令行使用

    3.1.1 基本命令

    3.1.1 git init 创建版本库 (创建本地版本库)

    3.1.2 git add filename 提交到版本库暂存区

    3.1.3 git commit -m '注释' 将暂存区提交到版本库

    3.1.4 git log 查看版本库提交历史(可以查询commit提交版本号)

    3.1.5 git reset --hard HEAD^ 版本回退 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

    3.1.6 git reset --hard <commit it> 版本回退, <commit it> 指定版本号

    3.1.7 git reflog 查询命令历史

    3.1.2 工作区和暂存区

    每次修改,如果不用git add到暂存区,那就不会加入到commit中。

    git status 查看工作区和暂存区的状态信息

    git checkout -- file 工作区的撤销修改 (没有-- 就表示切换到分支了)

    git reset HEAD <file>暂存区的修改撤销掉,重新放回工作区

    git rm <file> 删除文件 然后commit提交

    3.1.3 远程仓库

    git remote add origin git@github.com:zjhlovewtr/test.git 版本仓库与本地仓库进行关联

    git push -u origin master 把本地仓库内容推送到远仓仓库 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    git push origin master 修改后推送

    git clone git@github.com:zjhlovewtr/test.git 从远程仓库克隆一个仓库到本地(不需要git init操作)

    3.1.4 git 分支

    git branch <branchName> 创建分支

    git checkout <branchName>切换分支

    git merge <branchName> 合并分支(branch name为目标分支)

    git branch -d <branchNanme> 删除分支

    git checkout -b <branchNanme>创建+切换分支

    冲突解决

    先文件修改

    然后git add <fileName>

    然后git commit -m '分支修改'

    最后在合并

    git merge --no-ff -m "merge with no-ff" dev 普通分支合并 请注意--no-ff参数,表示禁用Fast forward

    bug 分支

    git stash 保留修改现场情况

    git stash list 查询工作现场情况

    git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    git stash pop 恢复的同时把stash内容也删了

    3.1.5 标签管理

    git tag v1.0 创建标签

    git tag 查询所有标签

    git push origin <tagname>可以推送一个本地标签;

    git push origin --tags可以推送全部未推送过的本地标签;

    git tag -d <tagname>可以删除一个本地标签;

    git push origin :refs/tags/<tagname>可以删除一个远程标签。

    git强制覆盖本地代码:

        git fetch --all
        git reset --hard origin/master
        git pull

    Git忽略文件不起作用解决方案

    git rm -r --cached .
    git add .
    git commit -m "update .gitignore"

    Git冲突解决

    error: Your local changes to the following files would be overwritten by merge:
           ...
    Please commit your changes or stash them before you merge.
    Aborting
    Updating 1d17a2c5..3de3e123
    可按以下步骤解决此问题:

    1.先将本地修改存储起来

    使用git stash命令,这样本地的所有修改就都被暂时存储起来 。其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。

    2.再次拉取代码

    git pull

    3.还原暂存的内容

    git stash pop stash@{0}

    4.解决冲突

    在存在冲突的文件中,Updated upstream 和=====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。

    5.删除stash

    使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash。

    git初始化码云账号权限

    1.配置Git工具
    安装完成以后从桌面或开始菜单打开Git工具{点击Git bash 打开}


    1.1 Git基本信息设置
    在打开的编辑里面依次输入并执行配置信息,下图所示:

    1. $ git config --global user.name "liehuodadi"
    2. $ git config --global user.email "dfbazhu@qq.com"

    从其中的global可以知道这是Git的全局配置!其中"liehuodadi"是用户名,可以填写您的码云的用户名,第二行的"dfbazhu@qq.com"自然是邮箱了,可以填写您的码云账号的邮箱,用户名和邮箱也可以填写别的(只要是用户名和邮箱格式就OK)。

    1.2 生成密钥
    接着上面的步骤,输入以下代码,:

    1. $ ssh-keygen -t rsa -C “hakissb@126.com”  

    输入上面的命令后一直按3次回车直到出现图形界面即可,不要输入任何内容直接回车到出现图形界面,其中的邮箱随便填写,也可以填写您的码云邮箱号。区分大小写!

    1.3 添加私钥到码云
    先将上一步生成的密钥复制下来,方法是接着输入命令:

    1. $ cat ~/.ssh/id_rsa.pub

    先将密钥复制下来。也可以打开C:UsersAdministrator.sshid_rsa.pub文件复制,1.2步骤中生成的密钥默认在这个位置!

    进入码云头像下面的 设置 或者 个人中心里面的设置也可以:

    点击左侧的“SSH公钥”

    右侧的添加公钥,标题随便填写,公钥 里面将上面我们复制的那个本地密钥粘贴到这里,然后点击“确定”即可。这样我们就有权限对自己在码云上的项目进行读写操作了。

    git忽略规则,可参考:

    https://blog.csdn.net/qq_22494029/article/details/79537612

  • 相关阅读:
    sipp如何避免dead call
    6174问题
    笨小熊
    scanf 与 cin 的区别
    谁获得了最高奖学金
    _int64、long long 的区别
    小光棍数
    简单排序法
    La=LaULb (循环链表)
    删除重复的数(顺序有序表)
  • 原文地址:https://www.cnblogs.com/lm970585581/p/11876144.html
Copyright © 2011-2022 走看看