git clone 代码库地址

  git branch -r  查看远程分支

  git branch 查看本地分支

  git branch -a 查看远程和本地分支。带*的表示正在所处分支。

  git branch branch_name  建立一个分支(是在当前分支HEAD上建立)

  git checkout branch_name 切换到另一个分支

  git checkout -b branch_name origin/branch_name    建立和远程分支追踪关系的本地分支

  git checkout -- filename  撤销工作目录的改动(已经在版本管理,但还没提交到暂存区的文件)

  怎样获取远程或本地分支的某个文件到当前分支呢?
  git merge不可以,它只能merge分支
  此时可以使用git checkout 命令。
  git checkout 远程/本地分支名称 指定文件

  这样就可以获取到某分支的指定文件到当前分支了,并且不会发生切换分支。

  git reset HEAD filename 撤销暂存区的改动

  git reset 版本号   回退到某个版本,留有文件修改(例子:文件已经commit到本地版本库,想回退到上一个版本 git reset HEAD^  版本号可在git log中查看)   --hard 硬回退

  一个例子:

    commit了两个提交,并push到了远程库。发现最后一次的commit不对,想回到上一个commit。这时候执行 git reset HEAD^,回到了上一次的版本。这就落后了远端分支一个提交, git log 看是缺少了后悔的那个提交点,这样直接push到远程是不可以的。
    这时候可以执行 git reset origin/xx,同步本地分支和远程分支(但不会丢失本地更改),此时git log可以看到commit点都回来了。然后再git add /commit/push

  git revert HEAD 撤销当前版本的修改,表示回到上一个版本。revert是作为新的commit

  git diff 这个命令可以diff各种不同

  git diff 默认是比较当前工作目录和暂存区(git必须要知道暂存区的概念)的不同

  git diff --cached 比较暂存区和版本库的不同

  git diff HEAD 比较工作目录和版本库的差异

  git diff --stat  只看统计哪些文件差异,不看具体内容差异

  git diff HEAD origin/branch_name  filename  比较当前分支和远程分支上这个file的不同

  git add

  git commit -m 'xx'

  git log  查看commit信息

  git log --pretty=oneline 很多个commit信息,直接查看commit id,比较方便

  如果查看某一个文件的修改历史,可以这样:

   git log filename  (git log --pretty=oneline filename) ,通过列出的commitid,再执行git show commitid,查看具体修改历史

  git show commitid 查看某次提交的信息

  git branch --set-upstream master origin/master   设立追踪关系 本地和远程分支

  git pull 远程名 远程分支名称:本地分支名称

  省略本地分支名,表示当前所在分支;

  如果建立了追踪关系,可以省略分支名称

  git push 远程名 本地分支名称:远程分支名称

  如果省略远程分支名称,就是把本地分支推送到远程,如果没有,就在远程新建;如果只省略本地分支,表示删除远程分支。

  如果有追踪关系,可以省略俩名称

  git merge branchname  在当前分支上合并branchname

  git tag tagname 在当前分支的commit版本上打一个tag。tag和某个commit id对应的

  git tag 查看各个tag

  git show tagname 查看该tagname信息

  git stash [save message] 保存当前进度,工作区恢复到当前HEAD版本内容。很方便于当前改的东西存档,去fix其他东西。

  git stash list 查看stash的列表

  git stash pop 弹出最新的stash。比如修复完,回到之前改的。

  在开发过程中,有可能产生附带的缓存文件,在部署到服务器时是没用的。此时可以在版本库中添加一个.gitignore文件。

  比如以.dat为后缀的文件不想要提示是否添加了。在.gitignore文件中行内容写上.dat即可。

  如果不希望自己的.gitignore文件上传,可以在该文件再追加一行.gitignore。

  git的命令可以使用别名简化,比如每次git commit,checkout等,单词较长。可以给他们起个别名。

  在.git/config文件中添加。比如几个命令:

[alias]
co = checkout
ci = commit
br = branch
st = status

在.git/config中配置,只是在当前git代码库生效,如果该用户下都生效,需要在~/.gitconfig 中配置,或者命令如git config --global即可

比如:

git diff如何使用vimdiff形式查看diff文件?

git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool

利用git d 执行即可

git使用备注的更多相关文章

  1. Git版本控制使用介绍

    Git是什么? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git与SVN的最主要的区别? Git是分布式的,SVN不是 Git没有一个全局的版本号,而SVN有 ...

  2. Git 常用配置和使用

    Git:是一个分布式的源代码管理工具,Linux内核的代码就是用Git管理的所以它很强,也很快, 和 Vss/SVN比起来 本地Git初始化配置及其使用: 1. 初始化本地Git库:打开Git Bas ...

  3. git增加子模块

    要拉取GIT代码时,有时候需要拉取多个GIT模块,一起配合使用: 1.下载主模块: git clone -b master http://username:passwd@git.wondershare ...

  4. 【Git】Git pull 强制覆盖本地文件

    git fetch --all  git reset --hard origin/master git pull 备注: git fetch 只是下载远程的库的内容,不做任何的合并 git reset ...

  5. 将本地项目上传到git

    1.新建一个README.md的文件,并将项目名写入此文件(一般第三方git服务会在创建在创建项目的时候自动创建该文件,可以跳过这一步) echo "# Lee" >> ...

  6. Windows配置多个git用户

    Window配置多个Git账户,SSH连接GitHub.GitLab 最新版本GIt配置对应多个Git仓库(不需要添加多个用户名和邮箱): 在本地git上添加一个用户名和邮箱,生成一对公钥和私钥,把公 ...

  7. Git学习(一)(2015年11月12日)

    环境:win10 已安装git工具(如未配置环境变量需先配置环境变量) 如何配置环境变量:.我的电脑-属性-高级系统设置-环境变量-系统变量 找到path然后在变量值结尾增加路径: ;C:\Progr ...

  8. git创建项目的两种方式

    场景1: 将本地内容推送给远程库 1.创建版本库 git init 将此目录转换为git可管理的仓库 git config --global user.name "xx" 或 gi ...

  9. 认识GIT之入门

    前言 GIT是非常优秀的源代码版本管理工具,经过几年的发展,已经变得非常成熟以及流行,不同于其他的源代码管理系统,值得使用.GIT官网下载在线安装包,经常会中途退出,很有可能的原因是被墙了,所以建议使 ...

随机推荐

  1. The Minimum Cycle Mean in a Digraph 《有向图中的最小平均权值回路》 Karp

    文件链接 Karp在1977年的论文,讲述了一种\(O(nm)\)的算法,用来求有向强连通图中最小平均权值回路(具体问题请参照这里) 本人翻译(有删改): 首先任取一个节点 \(s\) ,定义 \(F ...

  2. link标签链接CSS和@import加载的区别

    link:基本语法 <link rel="stylesheet" href="路径"> @import 基本语法 <style> @im ...

  3. JS性能优化 之 事件委托

    面试中2次被问到过这个知识点,实际开发中,应用事件委托也比较常见.JS中事件委托的实现主要依赖于 事件冒泡 .那什么是事件冒泡?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一 ...

  4. 不用Visual Studio,5分钟轻松实现一张报表

    常规的报表设计,如RDLC.水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,但是对于非开发人员,要安装4G的一个VS ...

  5. 使用katalon自带Spy功能获取/验证控件Selector、XPath

    背景 最近刚接手一个katalon编写的UI自动化项目,页面最近刚改版,已有用例很多查找元素失败.了解到katalon元素定位支持xpath,所以直接使用chrome开发者工具打开目标页面+获取xpa ...

  6. 异常检测(anomaly detection)

    版权声明:本文为博主原创文章,转载或者引用请务必注明作者和出处,尊重原创,谢谢合作 https://blog.csdn.net/u012328159/article/details/51462942 ...

  7. Centos7系统详细的启动流程

    熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽然基础,但能帮助我们更加理解Linux系统的工作机制.以下将以CentOS发行版为例来介绍Linux系统的启动流程,因为在CentOS 5. ...

  8. 解决win10系统dpi放大后,部分网页文字颜色很浅的问题

    前段时间,换了个27寸的4k显示器.原始分辨率下文字太小,眼睛估计得看瞎 放大dpi后,这问题,那问题,好多 百度知道,淘宝,这网页文字颜色也非常的浅,看着眼睛很累人 看了半天是字体若的祸 暂时发现A ...

  9. Xcode调试LLDB

    一.简介 关于Xcode调试,相信大家很多会用断点调试,今天无意间在苹果开发的群里看到了po,瞬间心中有个疑问:po是什么?下面我就百度搜索了一下,介绍一点皮毛. 首先是LLDB,它的全名是lower ...

  10. web自动化-窗口句柄及位置变化

    在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下 from selenium import webdriver driver = webd ...