• Git常用命令行


    本地仓库

    仓库初始化

    git init: 初始化一个Git仓库

    添加文件

    git add <file> : 把某个指定文件的修改从工作区添加到暂存区 注意:git跟踪的是修改

    git commit -m “message” : 把暂存区所有修改提交到当前分支 注意:是修改,不是文件

    git status : 查看状态

    git diff <file> : 查看文件修改内容

    版本回退

    git log : 查看提交记录

    git reset --hard HEAD^: 回退到上一个版本

    git reset --hard 1094a: 回退到指定版本号对应的版本

    git reflog:所有命令的记录

    撤销修改

    git checkout -- <file>: 撤销工作区对应文件的修改,已经通过git add添加到暂存区的修改不会被撤销。

    ​ 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    ​ 注意:git checkout <branchname>,也就是不带"--"时是切换到另一个分支

    git reset HEAD <file>: 撤销暂存区对应文件的修改,重新放回工作区,如果要彻底撤销,还要执行git checkout -- <file>命令

    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。

    远程仓库

    添加SSKHkey

    推送到远程仓库

    git remote add origin git@github.com:username/learngit.git: 关联远程仓库,这里以github为例

    git push -u origin master: 把本地库的所有内容推送到远程库上,实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。从现在起,只要本地作了提交,就可以通过命令git push origin master把本地master分支的最新修改推送至GitHub。

    从远程仓库克隆

    git clone git@github.com:username/gitskills.git: 从远程仓库克隆

    分支管理

    创建与合并分支

    git checkout -b dev: 创建dev分支并切换到该分支,相当于git branch devgit checkout dev两条命令的合并。注意:由于git checkout dev和之前的git checkout -- <file>很像,容易混淆,所以可以使用git switch代替:git switch -c dev-创建并切换到对应分支,git switch dev-切换到已有分支。

    git branch: 命令查看当前分支

    git merge dev: 合并指定分支dev到当前分支

    git branch -d dev: 删除指定分支dev

    解决冲突

    暂存

    git stash: 以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

    git stash list: 查看暂存内容

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

    另一种方式是用git stash pop,恢复的同时把stash内容也删了。

    cherry-pick

    多人协作

    git remotegit remote -v

    git checkout -b dev origin/dev: 从远程库clone时,默认情况下,只能看到本地的master分支。要在dev分支上开发,就必须创建远程origindev分支到本地,就要用这个命令创建本地dev分支:git checkout -b dev origin/dev

    Rebase--变基

  • 相关阅读:
    20155330 2016-2017-2《Java程序设计》课程总结
    20155330 实验五 网络编程与安全 实验报告
    20155330 实验四 Android程序设计
    20155330 课堂测试 20170517
    20155330 实验三 敏捷开发与XP实践
    20155330 第十一周课堂练习(20170503)
    20155330 2016-2017-2 《Java程序设计》第十周学习总结
    20155330 2016-2017-2 《Java程序设计》第九周学习总结
    2017-2018-1 20155329 《信息安全系统设计基础》第13周学习总结
    2017-2018-1 20155329 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/yaohl0911/p/14293314.html
Copyright © 2020-2023  润新知