Git 学习笔记

Git 学习笔记

本文整理参考廖雪峰的 Git 教程, 整理 Git 学习笔记, 用于 Git 常用命令速查:常用命令用彩色标注!

Git学习笔记
$ git config --global user.name "Your Name" 配置本机所有仓库的用户名
$ git config --global user.email "[email protected]" 配置本机所有仓库的Email地址
$ git init 初始化一个Git仓库
$ ls -ah 查看隐藏目录,创建仓库之后会生成.git文件夹(这不是Git命令, 只是用来查看.git这个隐藏文件)

$ git add <file>

$ git add *.cc *.h


添加文件到Git仓库, 可重复使用添加多个文件

一次性添加所有.cc, .h文件, 批量处理


git commit -m "说明文字"

git commit --amend


将暂存区的文件提交到版本库

修改最后一次提交是commit的说明文字用 --amend, 修改好之后Ctrl+O写入, Ctrl+x离开, 文件格式选择Alt+M选择DOS格式, 若选择MAC格式在Ubuntu下不能显示这次提交信息

$ git status 查看仓库状态
$ git diff 查看工作区与版本库最新版本的差异
$ git diff <file> 查看指定文件工作区与版本库的差异
$ git log 查看每一次修改的日志,显示commit ID,作者,日期,提交说明文字
$ git log --pretty=oneline 查看日志单行模式,显示commit ID,提交说明文字
$ git reset --hard HEAD^ 回退到上一个版本,可以连续使用。
$ git reset --hard <ID> 版本回退到指定的commit ID
$ git reflog 查看每一次操作的ID,如commit ID,reset ID等...
$ git diff HEAD -- <file> 查看指定文件在工作区与版本库里面的最新版本的差异
$ git checkout -- <file>
撤销文件<file>在工作区的修改,让<file>回到最近一次git commitgit add时的状态。可用于工作区误删文件恢复。--很重要,没有--,就变成了“切换到另一个分支”的命令

$ git reset HEAD <file> 将文件<file>撤出暂存区,放回到工作区
$ git rm <file>
删除版本库中的file文件. 步骤为:

1. rm <file>                 删除工作区的file

2. git rm <file>             删除版本库中的file

3. git commit -m "..."       提交删除

误删恢复步骤:

1. git log --pretty=oneline  查看删除前版本号

2. git reset --hard <ID>     恢复到删除前版本

3. git checkout -- <file>    恢复工作区误删文件

$ ssh-keygen -t rsa -C "[email protected]" 创建SSH Key
$ git push origin master 推送本地master分支到远程仓库master分支
$ git remote add origin [email protected]:path/repo-name.git 关联一个远程库
$ git clone [email protected]:ChanLiee/learngit.git 克隆远程仓库到本地, 注意要把SSH Key添加到GitHub
$ git branch 列出所有分支,并在当前分支前面会标一个*
$ git branch <name> 创建分支
$ git checkout <name> 切换分支
$ git checkout -b <name> 创建分支,然后切换分支
$ git merge <name>
Fast forward模式合并指定分支<name>到当前分支,删除分支后,会丢掉分支信息。

如果出现冲突Git会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,需要修改后再运行git commit即可

$ git merge --no-ff -m "提交说明" <name> 推荐使用普通模式合并分支,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
$ git branch -d <name> 删除分支
$ git log --graph --pretty=oneline --abbrev-commit 用带参数的log查看分支合并情况
$ git log --graph 显示分支合并的详细信息
$ git stash 把当前工作区现场“储藏”起来,等以后恢复现场后继续工作
$ git stash list 查看暂存区stash列表,显示stash数目以及所在分支
$ git stash apply [email protected]{0} 恢复标号为0stash到工作区,但stash内容不删除  
$ git stash drop  [email protected]{0} 删除标号为0stash
$ git stash pop 恢复的同时把stash内容也删了
$ git branch -D <name> 强行删除分支,如果要丢弃一个没有被合并过的分支,可以使用该命令强行删除    
$ git remote 查看远程库信息
$ git remote -v 查看远程库详细信息
$ git push origin <name> 推送其他分支
$ git checkout -b dev origin/dev 创建远程origindev分支到本地,就通过修改本地dev在推送到远程dev分支的方式修改远程dev分支
$ git push origin dev 将本地分支dev推送到远程dev分支,如果推送失败表明远程分支比本地更新,需要先用git pull,试图合并
$ git pull
如果提交冲突,则需要代码合并后在提交,先用git pull把最新的提交从origin/dev抓下来,

然后,在本地合并,手动解决冲突,提交commit,再推送push

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,使用下面的命令:

$ git branch --set-upstream dev origin/dev 指定本地dev分支与远程origin/dev分支的链接,关联之后才可以pull
$ git tag <tag> 给当前ID打上标签
$ git tag <tag> <ID> 给某个commit ID打上<tag>标签
$ git tag 查看标签,按字母排序
$ git show <tag> 查看<tag>标签信息
$ git tag -a <tag> -m "说明文字" <ID> 创建带有说明的标签,用-a指定表签名,-m指定说明文字
$ git tag -d <tag> 删除标签<tag>
$ git push origin <tag> 推送某个标签到远程
$ git push origin --tags 一次性推送全部尚未推送到远程的本地标签到远程
$ git push origin :refs/tags/<tag>
删除远程库标签步骤:

1. $ git tag -d v0.99                   删除本地标签
2. $ git push origin :refs/tags/v0.99   再用push删除远程库标签

时间: 2024-12-10 02:29:30

Git 学习笔记的相关文章

Git学习笔记(二)

本次学习的是 版本回退 基本命令: 查看提交历史      git log 版本回退            git reset 查看每一次的命令 git reflog 具体步骤: 添加一句话到readme.txt中,并提交到Git库中. . readme.txt在Git中目前有三个版本: 按提交时间先后顺序排列如下: 第一个:wrote a readme.txt 第二个:add distrubuted 第三个:add difficulties 如果版本过多的话,根本记不住,只能查看使用命令git

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install

Git学习笔记总结和注意事项

一.Git简介 Git是目前世界上最先进的分布式版本控制系统,其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可.安装完成后,在开

Git 学习笔记&lt;远程仓库与标签管理&gt; (四)

什么是远程仓库? 就像第一章介绍的那样,远程仓库可以储存你编写的所有源码和资源文件. 甚至也可以当网盘使,不过当然有很多契合git管理文本的特性. 下面就要以 github 为示例远程仓库进行介绍.  (也可以自己弄一台服务器作远程仓库). 创建仓库 在主页找到 +New repository 或者右上角的加号里有.输入名字 描述 然后没钱只能public就能确定了.然后呢,点名字打开你的仓库.(主页右下角可以找到) 关于与远程仓库的连接 首先你打开你的保险箱得先证明身份吧,不然我怎么知道你是客

【版本控制】git学习笔记(二)

关于git的基本使用请阅读上篇博文内容,[版本控制]git学习笔记(一). 1.远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以"克隆"这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩? 其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下.不过,现实生活中是不会有人这么傻的在一台电脑

Git学习笔记(四)

一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了.所有配置文件可以直接在线浏览:https://github.com/github/gitignore .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! 二.配置别名 $ git config --global al

git学习笔记(非常乱)

gitwiki 我是一个php程序员,但是我还是用windows开发环境.我不争气. 下载 git bash(windows环境下的git) 安装完之后设置用户名和邮箱 git config --global user.name "linjingxiong" git config --global user.email "[email protected]" 基本的命令: git init cd /d/../../  进入D盘的某目录 pwd          列出

Git 学习笔记&lt;分支管理&gt; (三)

分支是什么? 分支就像树分出的树枝,不同的是,它们之间可以互相合并. 将版本的推进想象成一个链表的伸长:  version 1.0 ==> version 2.0 ==>version3.0  . master是主要的分支基本上用于发布产品.你可以从master分出一个dev,在上面创建新功能,或者修bug然后调试.最后再合并到master里面.就像下面这样. master分支:  version 1.0=========>version 2.0===... \            

Git学习笔记(8)——标签管理

本文主要记录的Git标签的作用.标签的多种创建方式,以及标签的删除,与推送,和使用GitHub的Fork参与别人的项目. 标签的作用 发布版本时,通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照.Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像,但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. 创建标签 [email pro