zoukankan      html  css  js  c++  java
  • git基础入门之常用命令操作

    本内容参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    初学,有什么不对的地方 ,欢迎指出

    一、工作区(本地仓库)

    1、创建仓库(repository):git init

    用法:在文件夹(变成仓库的文件夹)目录下执行 git init

    2、添加文件:git add [文件路径]

    如:

    提交文件:git add test.txt
    提交文件夹:git add test
    提交任意文件: git add *
    提交当前目录所有文件: git add .
    添加所有文件,同时将已删除文件从仓库中删除:git add -u
     
    3、删除文件:
    1)rm [文件路径] 或直接在文件管理器把文件删除
    如:rm text.txt
    注:恢复文件 git checkout rext.txt
     
    2)删除并删除仓库中的版本
    git rm [文件路径]
    注:
    1))恢复文件:git rest HEAD [文件路径]
    2))git checkout [文件路径]
     
    4、回退版本:git rest hard commit_id
    如:git rest --hard 12345
    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
    用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
     
    5、获取最的提交信息:git log
    注:可根据返回的日志的id回退版本
    如:git rest --hard 12345
     
    6、查看命令历史:git reflog
     
    7、获取仓库状态信息(增、删、改文件相关信息):git status
     
    8、撤销修改(丢弃工作区的修改)git checkout -- [文件]
    注:git checkout -- file命令中的--很重要,没有--,就变成了“创建一个新分支”的命令
     
    二、远程仓库
    1、创建SSH Key
    1)在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,密码是可选项,输入如下命令:
    ssh-keygen -t rsa -C "youremail@example.com"
    最后将你的公钥交给git管理人
     
    2、关联远程版本库
    仓库下运行命令:git remote add origin [git地址]
    如:git remote add origin git@github.com:michaelliao/learngit.git
     
    3、本地库的内容推送到远程:git push -u origin [文件]
    如:
    git push -u origin master
    -u:由于远程库是空的,第一次推送master分支时,会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,
    关联后,推送到远程可以把加-u参数
     
    4、克隆远程库到本地:git clone [git地址]
    如:git clone git@github.com:michaelliao/gitskills.git
    Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
     
    5、分支(branch)
    1)创建分支:git branch [分支名]
    如:git branch dev
     
    2)切换分支:git checkout [分支名]
    如:git checkout dev
     
    3)创建并切换分支 : git checkout -b [分支名]
    如:git check -b dev 
    实际上是执行了1) 和2)两条命令
     
    4)查看分支:git branch
    注:git branch命令会列出所有分支,当前分支前面会标一个*号
     
    5) 合并分支到当前分支:git merge [分支名] 
    如:git merge dev 
     
    6)删除分支:git branch -d [分支名]
    如:git branch -d dev
     
    7)删除远程分支:
    git branch -d [分支名]  //先删除本地分支
    git push origin :[分支名]  //再推上服务器
     
     
    6、解决冲突
    <<<<<<< HEAD(HEAD指向当前分支末梢的提交。)
    Creating a new branch is quick & simple.(当前分支中的内容。)
    =======
    Creating a new branch is quick AND simple.(merge过来的另一条分支上的代码。)
    >>>>>>> feature1(分支的名字)
     
    7、分支管理策略
    1)Fast forward模式(默认):这种模式下,删除分支后,会丢掉分支信息,合并就看不出来曾经做过合并。
    2)普通模式(--no-ff参数):普通模式合并,合并后的历史有分支,能看出来曾经做过合并。
    如:git merge --no-ff dev (使用普通模式)
     
    8、储存/恢复工作区 
    1)储存:git stash
    2)恢复:
    2-1)查看储存信息:git stash list
    2-2)恢复:
    2-2-1)git stash apply:恢复后,stash内容并不删除,需要用git stash drop来删除;
    2-2-2)git stash pop:恢复的同时把stash内容也删了:
    用法:git stash apply [stash_id]/git stash pop [stash_id]
    如:git stash apply stash@{0}
     
    9、丢弃一个没有被合并过的分支(强行删除):git branch -D [分支名]
    如:git branch -D dev
    注:没有合并过的分支,需求强行删除才可以删除
     
    10、查看远程库信息: git remote
    -v:查看详情信息
    注:没有推送权限,就看不到push的地址 
     
    11、推送分支:git push origin [分支名]
     
    12、拉取分支:git pull origin [分支名]
     
    13、建立本地分支和远程分支的关联:git branch --set-upstream [工作区分支名] origin/[服务器分支名]
    如:git branch --set-upstream dev origin/dev
     
    14、忽略文件
    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
    将忽略文件添加版本控制也可以使用命令:git add [文件] -f
     
    15、忽略已跟踪的文件 

    git update-index --assume-unchange [文件名]

     
     
     
     
     
     
     
     
  • 相关阅读:
    Spring中的@AliasFor标签
    Redisson基本用法
    阿里开源的缓存框架JetCache
    动态页面技术(JSP)
    会话技术cookie&session
    HttpServletRequest
    HttpServletResponse
    request和response的中文乱码问题
    WEB简单的登录注册功能(分层)
    Servlet
  • 原文地址:https://www.cnblogs.com/Mr-Mo/p/4557101.html
Copyright © 2011-2022 走看看