• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

凉梁凉糕

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

常用git命令总结 初始化git库操作 git 子模块

查看
git status 查看状态
Gitk 界面各个版本查看

添加
Git add filename 添加指定文件
Git add . 操作未暂存的文件
Git add -A 操作所有文件 包括删除的文件

提交
Git commit -m ‘此节点修改的描述’
Git commit –amend -m ‘修改最近一次提交的数据’

回退
Git reset head ‘filename’ 将文件从已暂存中移除到位跟踪
Git revert ‘某一个版本的id’返回上一个版本
需求 :在我提交的版本之前有两个别人提交的版本,只想把我刚刚提交的版本上到测试,而另外两个版本不上
    Git log 查看日志 找到对应的那两个版本的id
    Git revert id1 (作为一次新的提交)
    Git revert id2 
    Git push  --- 此时上测试的话就可以构建了
    构建之后 git log 找到revert的两个id
    Git revert id3 
    Git revert id4 
    Git push -这样就回来了,相当于颠倒了顺序提交;

撤销或查看分支
Git checkout . 撤销本地所有修改
Git checkout filename 撤销本地未add的指定文件
Git checkout 分支名 切换到指定分支
Git checkout -b branchName 切换(无时创建)本地分支

Git branch -a 查看所有分支
Git branch -r 查看远程风格之

Push远程
Git push origin branch提交到远程branch分支
需求:本地develop分支代码修改完 直接 git push 提交到了develop分支,想再将代码提    交到master分支
	Git checkout master 
	Git merge develop  将develop分支合并到master分支;
	Git push

暂存
Git stash save 
Git stash pop
需求:本地修改不想暂存或推到远程,
    git stash save
    git pull拉取远程代码;
    git stash pop  注意此过程可能存在代码冲突

  

将代码提交到远程,直接git代码提交一样
初始化一个仓库之后会什么命令都出错,可以手动更新一下,具体操作如下:
一个空仓库申请过来之后:
   git init   ----   git remote add origin git仓库的地址
    1  git clone @地址
    2  手动更新git fetch origin
    3  git branch -r(或者-a 代表本地和远程的所有分支)
    4  创建或切换远程分支 git checkout -b develop

从远程拉代码,不同分支
    1 git clone **
    2 cd 项目目录
    3 git checkout -b develop origin/develop 进入目录后默认为master分支,此句将远程develop拷贝到本地develop分支,并从master分支切换到develop分支上

  

克隆一个带子模块的项目
这里你将克隆一个带子模块的项目。当你接收到这样一个项目,你将得到了包含子项目的目录,但里面没有文件:
$ git clone git://github.com/schacon/myproject.git
Initialized empty Git repository in /opt/myproject/.git/
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
$ cd myproject
$ ls -l
total 8
-rw-r--r--  1 schacon  admin   3 Apr  9 09:11 README
drwxr-xr-x  2 schacon  admin  68 Apr  9 09:11 rack
$ ls rack/
$
rack目录存在了,但是是空的。你必须运行两个命令:git submodule init来初始化你的本地配置文件,
git submodule update来从那个项目拉取所有数据并检出你上层项目里所列的合适的提交:
详细的与npm对比 如下网址:https://blog.csdn.net/Smallsun_229/article/details/80721928

  

代码拉取 
git pull [--rebase] 加上--rebase 会使代码提交记录整理(按时间顺序)
git pull --rebase origin master  拉取指定分支,

查询git提交记录或某个文件的修改记录
git log  查询git提交的记录
git log -p ‘文件名’  查询某个文件

  

git reset head ‘文件名’  将文件从已暂存中移除到未跟踪状态
git reset gitId [--hard|soft|mixed(default)]回退到指定的某一个版本
它本身做的事情就是重置HEAD(当前分支的版本顶端)到另外一个commit 

  

posted on 2018-08-10 17:53  凉梁凉糕  阅读(1157)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3