git 使用(二)

news/2024/7/8 11:20:51
  1. 查看文件diff
    git diff # 比较当前文件和暂存区文件差异 git diff
    git diff # 比较两次提交之间的差异
    git diff .. # 在两个分支之间比较
    git diff –staged # 比较暂存区和版本库差异
    git diff –cached # 比较暂存区和版本库差异
    git diff –stat # 仅仅比较统计信息
  2. 查看提交记录
    git log git log # 查看该文件每次提交记录
    git log -p # 查看每次详细修改内容的diff
    git log -p -2 # 查看最近两次详细修改内容的diff
    git log –stat #查看提交统计信息
  3. tif
    Mac上可以使用tig代替diff和log,brew install tig
    Git 本地分支管理
    查看、切换、创建和删除分支
    git br -r # 查看远程分支
    git br # 创建新的分支
    git br -v # 查看各个分支最后提交信息
    git br –merged # 查看已经被合并到当前分支的分支
    git br –no-merged # 查看尚未被合并到当前分支的分支
    git co # 切换到某个分支
    git co -b # 创建新的分支,并且切换过去
    git co -b # 基于branch创建新的new_branch
    git co id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除  
    git co
    id -b # 把某次历史提交记录checkout出来,创建成一个分支
    git br -d # 删除某个分支
    git br -D # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
    分支合并和rebase
    git merge # 将branch分支合并到当前分支
    git merge origin/master –no-ff # 不要Fast-Foward合并,这样可以生成merge提交
    git rebase master # 将master rebase到branch,相当于: git co && git rebase master && git co master && git merge
    Git补丁管理(方便在多台机器上开发同步时用)
    git diff > ../sync.patch # 生成补丁
    git apply ../sync.patch # 打补丁
    git apply –check ../sync.patch #测试补丁能否成功
    Git暂存管理
    git stash # 暂存
    git stash list # 列所有stash
    git stash apply # 恢复暂存的内容
    git stash drop # 删除暂存区
    Git远程分支管理
    git pull # 抓取远程仓库所有分支更新并合并到本地
    git pull –no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
    git fetch origin # 抓取远程仓库更新
    git merge origin/master # 将远程主分支合并到本地当前分支
    git co –track origin/branch # 跟踪某个远程分支创建相应的本地分支
    git co -b origin/ # 基于远程分支创建本地分支,功能同上
    git push # push所有分支
    git push origin master # 将本地主分支推到远程主分支
    git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
    git push origin # 创建远程分支, origin是远程仓库名
    git push origin : # 创建远程分支
    git push origin : #先删除本地分支(git br -d ),然后再push删除远程分支
    Git远程仓库管理
    GitHub
    git remote -v # 查看远程服务器地址和仓库名称
    git remote show origin # 查看远程服务器仓库状态
    git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址
    git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm # 删除远程仓库
    创建远程仓库
    git clone –bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库
    scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上
    mkdir robbin_site.git && cd robbin_site.git && git –bare init # 在服务器创建纯仓库
    git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址
    git push -u origin master # 客户端首次提交
    git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track
    git remote set-head origin master # 设置远程仓库的HEAD指向master分支
    也可以命令设置跟踪远程库和本地库
    git branch –set-upstream master origin/master
    git branch –set-upstream develop origin/develop

http://www.niftyadmin.cn/n/3280956.html

相关文章

Flask 快速入门

基于Python2.7的web框架,可以快速搭建后台服务器实现一些命令模拟操作 我之前用的命令 sudo pip install flask-login https://blog.csdn.net/u011054333/article/details/70151857转载于:https://www.cnblogs.com/-WML-/p/9057241.html

QtConcurrent Qt处理多线程

先学下单词,: concurrent 并发 有道词典结果n. [数] 共点;同时发生的事件 adj. 并发的;一致的;同时发生的 这个QtConcurrent的命名控件提供了可以用来实现程序多线程的高级api, 而不用使用低级的线程的原始…

(1)线程的常用方法 (2)线程的同步机制 (3)网络编程的常识

1.线程的常用方法 static void sleep(long millis) - 用于使得当前正在执行的线程进入休眠状态,休眠参数指定的毫秒(重点)。 static void sleep(long millis, int nanos) - 用于休眠参数指定的毫秒纳秒,1秒1000毫秒 1毫秒1000微秒 1微秒1000纳秒 int g…

QFuture 类 Qt 控制线程

QFuture类能够获取一个一步计算的结果。 通过使用这个 Qt Concurrent 框架内的一个api来开始一次计算。 它可以用允许多个线程同步一个或多个结果在稍后的一段时间内计算完成。这个结果可以是任意一种类型,这个类型有默认的构造函数和拷贝构造函数。如果通过调用…

QFutureWatcher

QFutureWatcher 可以用来监测 QFuture 正在使用的信号和槽. QFutureWatcher 提供了关于 QFuture的信息和通知. 通过使用setFuture() 就可以开始监测 QFuture. future() 将会返回 future. 为了方便使用, 一些 QFuture 的函数也还是可以访问的。 QFutureWatcher: progressVal…

Java并发(零)教程目录

上网看博客的时候无意中发现了有一个Java并发的教程还不错,有20多篇讲并发的,一天翻译1篇似乎也不太难。Lets go!原文地址:http://tutorials.jenkov.com/java-concurrency/index.html下面是目录:Java Concurrency / Multithreadin…

记一次计算机网络作业

Telnet远程登录计算机网络实验 实验设备和环境: Win10 64位PC 安装了Wireshark软件和VMware软件,VMware中有Red Hat Linux虚拟机。相当于有两台主机,为了区分两台主机下文中称Windows宿主机为Windows,称虚拟机Red Hat为Linux。 实…

多线程 pthread学习之一

一个简单的多线程例子 thread_demo1.c : <pre name"code" class"cpp">#include <stdio.h> #include <stdlib.h> #include <time.h> #include <pthread.h>static void wait(void) {time_t start_time time(NULL);while (ti…