• Git常用命令


    1.在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
    git init
    2.添加当前目录中的所有文件到索引,或者git add <file>
    git add .
    3.提交到本地源码库,并附加提交注释
    git commit -m "first commit"
    小结,现在总结一下:
    4.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
    git reset --hard commit_id
    5.穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    $ git log;$ git log --pretty=oneline
    6.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
    git reflog
    7.查看工作区的文件状态,从来没有被添加过,它的状态是Untracked
    git status
    8.每次修改,如果不用git add到暂存区,那就不会加入到commit中。
    9.把readme.txt文件在工作区的修改全部撤销,命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
    git checkout -- readme.txt
    小结
    10.场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令。
    git checkout -- file
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
    11.把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库
    git remote add origin git@github.com:michaelliao/learngit.git
    12.把本地库的内容推送到远程,由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    git push -u origin master
    13.把本地master分支的最新修改推送至GitHub
    git push origin master
    小结
    14.要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
    15.远程库已经准备好了,下一步是用命令git clone克隆一个本地库
    git clone git@github.com:michaelliao/gitskills.git
    小结
    16.查看分支:git branch
    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>
    17.推送分支,就是把该分支上的所有本地提交推送到远程库。
    git push origin master
    18.在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
    git checkout -b dev origin/dev
    就可以在dev上继续修改,然后,时不时地把dev分支push到远程:
    git add env.txt
    git commit -m "add env"
    git push origin dev
    19.推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:
    git pull
    git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:
    git branch --set-upstream-to=origin/dev dev
    20.因此,多人协作的
    首先,可以试图用git push origin <branch-name>推送自己的修改;
    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    如果合并有冲突,则解决冲突,并在本地提交;
    没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
    21.Git撤销一次分支的合并Merge
    git merge --abort
    22.合并时遇到冲突想取消操作,恢复index,用git merge --abort
    git reset --hard 可以回退到某个提交
    git revert可以撤销某个提交,撤销会产生一个新的提交
    23.Git退回哪个版本
    用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
    git reset --hard HEAD~数字

  • 相关阅读:
    【C/C++开发】c++ 工具库 (zz)
    【机器学习】半监督学习
    【Python开发】Pycharm下的Anaconda配置
    【C/C++开发】emplace_back() 和 push_back 的区别
    【C/C++开发】容器set和multiset,C++11对vector成员函数的扩展(cbegin()、cend()、crbegin()、crend()、emplace()、data())
    【C/C++开发】C++11 并发指南三(std::mutex 详解)
    【C/C++开发】C++11 并发指南二(std::thread 详解)
    【C/C++开发】C++11 并发指南一(C++11 多线程初探)
    【C/C++开发】STL内嵌数据类型: value_type
    个股实时监控之综述
  • 原文地址:https://www.cnblogs.com/PengChengLi/p/9351013.html
Copyright © 2020-2023  润新知