1、使用git config命令进行配置(此配置为全局配置,这些是在提交commit时的签名):
$ git config --global user.name "填写github的用户名"
$ git config --global user.email "填写github的邮箱"
 注意:git config 命令带 --global参数一经配置,在每次commit时都会自动调用,而且在你机器上的所有git仓库,都会使用到这个配置。改配置保存在 ~/.gitconfig 文件中。
可用 $git config -l 查看以上配置情况
 
2、克隆仓库
使用下面方式进行clone:
克隆完成后,当前目录下会生成 gitproject文件
 
PS:git clone 与 git pull 的区别
git clone 命令,某一目录下面没有repository(仓库)时,通过 $git clone git@github.com:whatever/something.git 方式将远程已存在的某一个仓库完整复制过来,在本地不必进行 $git init 初始化操作
 
git pull 命令,相当于执行了 git fetch + git merge 操作,是拉取远程分支更新到本地仓库,然后进行merge(合并)操作。何时会用到?当远程分支更新了内容,而本地仓库没有同步这些内容,则使用该命令,相当于获取新版本。 git pull = git fetch + git merge
 
 
3、初始化仓库命令(将目录切换到具体目录下再执行)
$ git init

作用

主要用来初始化一个空的git本地仓库。执行完上面的命令,当前目录下会自动生成.git隐藏文件夹,该隐藏文件夹就是git版本库

 
4、git的基本流程如下:
1)创建或修改文件
2)使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
3)使用git commit命令提交到本地代码库
4)(可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
 
5、使用git status命令查看当前git仓库的状态:git diff 命令再加上 --cached 参数,看看缓存区中哪些文件被修改了
(要退出时使用q)。执行了$git add 添加文件到缓存区后,若想撤回这些文件,用下面命令
$git reset HEAD 或者 $git reset HEAD  foo.text(文件)或者src/test/(目录)
 
6、当所有新建,修改的文件都被添加到了缓存区,就要使用git commit提交到本地仓库(-m添加本次修改的注释):
$ git commit -m "add 3 files"
用下面的命令将所有没有加到缓存区的修改也一起提交,但-a命令不会添加新建的文件。
$ git commit -a -m "add 3 files"
 
7、将本地仓库与远程仓库关联,使用如下命令(需要修改下面的远程仓库地址为自己的仓库地址):
git remote add origin https://github.com/something.git
 
这个时候如果本地的仓库连接到了远程Git服务器,可以使用下面的命令将本地仓库同步到远端服务器:
# 需要输入仓库对应的用户名和密码 $ git push origin master
$ git push -u origin +master 强行更新(提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。。。)
 
8、Git仓库创建一个新的叫 experimental的分支:
$ git branch experimental
运行git branch命令可以查看当前的分支列表,以及目前的开发环境处在哪个分支上:
$ git branch experimental * master
输入git checkout 分支名可以切换到其他分支:
$ git checkout experimental Switched to branch 'experimental'
 
9、git merge命令来合并experimental到主线分支master:
# 切换到master分支 $ git checkout master # 将experimental分支合并到master $ git merge -m 'merge experimental branch' experimental
 
10、不再需要experimental时,可以使用下面的命令删除:
$ git branch -d experimental
git branch -d只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D
 
11、如果你觉得你合并后的状态是一团乱麻,想把当前的修改都放弃,你可以用下面的命令回到合并之前的状态(撤销前一个合并):
$ git reset --hard HEAD^ # 查看file3的内容,已经恢复到合并前的master上的文件内容
 
12、查看日志,git log命令可以显示所有的提交(commit):
$ git log
 
   格式化日志
你可以按你的要求来格式化日志输出。--pretty参数可以使用若干表现格式,如--oneline
$ git log --pretty=oneline
或者用short、medium,full,fuller,email 或raw,format参数定义格式。
$ git log --pretty=format:'%h : %s' --topo-order --graph
 
  统计修改信息(在log命令后面添加某些参数可达到统计作用
--stat  显示被修改的那些文件
--dirstat  显示那些包含被修改文件的目录
--shortstat  显示项目中有多少文件被修改 
--graph  显示各提交之间的关系(提交路线)
 
13,相关命令的含义
已修改,未暂存
git diff
还没有做git add .之前,我们如何检查有哪些修改,
 
已暂存,未提交
git diff这个命令只检查我们的工作区和暂存区之间的差异,如果我们想看到暂存区和本地仓库之间的差异,就需要加一个参数
$git diff --cached
 
diff 命令还能比较两次提交之间的差异
$git diff 77d231f(这是某次提交的散列值) HEAD
或者比较当前提交于上一次提交之间的差异,使用  ^!
$git diff 77d231f^!
 
已提交,未推送
git diff master origin/master
把修改从暂存区提交到本地仓库,再看一下差异。先执行git commit,然后再执行git diff --cached,没有差异,执行git diff master origin/master,可以看到差异:
.
14.  .gitignore文件的作用,放在该文件夹下的文件,是告诉Git哪些文件不需要添加到版本管理中,可以在该文件中指定这些文件路径和目录,并且可以使用“*”和
"&"等通配符
 
15. $git stash 命令的作用
通俗的将,当我们正在进行某些事情的处理,比如修改bug,或者正在开发,突然来个任务说要紧急去干其它事情,比如修复线上的BUG,可是此时的工作需要保存
下来以便解决完其它事情后,再回来处理还能完整打开并继续,此时stash命令就起到这样的作用。
 
stash命令将工作区和暂存区的修改保存在一个被称为存储栈(stash stack)的缓存区中。与stash相关命令
 
$git stash 将本地的修改保存起来,并且将当前代码切换到HEAD提交上
$git stash list 查看当前存储的修改列表
$git stash pop 恢复到存储代码之前的工作状态
 
 
 
 
 
 
 
 

Git积累的更多相关文章

  1. Git 一些日常使用积累

    本来不想写这样的东西的,因为随处谷歌百度都有一大堆!但是,我却总是在百度谷歌,我在想,为什么我不自己写一篇存进来,顺便加深印象呢?既然这样,这篇随笔,就真的变成随笔好了,随时修改,随时添加. Git ...

  2. git指令总结及常见问题积累与解决方案

    git指令总结及常见问题积累与解决方案 git初始化一个项目并且长传到服务器后端步骤: 1.本地文件操作 通过:git init初始化化一个项目  会出现一个隐藏文件 ,可以文件夹属性设置进行查看,此 ...

  3. git点滴的积累

    git的基本学习的网址: http://www.yiibai.com/git/git_update_operation.html 0.git首次上传代码 http://www.cnblogs.com/ ...

  4. pro git 使用积累

    http://www.zhihu.com/question/20070065 git相关问题的收集 Git 是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被 ...

  5. git的使用与积累

    之前对git可以说是一无所知,不过现在做工程要用到,于是就花点时间找了一些资料,本文也只是各种git学习资料的集合,权当是学习笔记吧 一:git的安装与配置 首先,git其实一般在linux环境下都是 ...

  6. git日常使用经验积累

    1 git merge origin/develop 将远程分支合并到本地,一般先执行合并,解决冲突,然后再git commit合入新建的分支,推送到远程分支里面,最后码云上找pl pull requ ...

  7. Git使用(积累一些常用的命令)

    1. 取消某一次合并  git merge --abort 可以参考的教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248 ...

  8. git 命令积累

    git status # 查看仓库的状态 git add . # 监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的 ...

  9. Git命令行学习积累

    1.远程分支拉取到本地 $ git checkout -b develop origin/develop //检出远程的develop分支到本地 2.本地分支推送到远程 $ git checkout ...

随机推荐

  1. September 21st 2017 Week 38th Thursday

    What fire does not destroy, it hardens. 烈火摧毁不了的东西,只会变得更坚固. The true gold can stand the test of fire, ...

  2. 什么是 .live()

    很多开发者都知道jQuery的.live()方法,他们大部分知道这个函数做什么,但是并不知道是怎么实现的,所以用的并不那么舒适.而且他们却从未听过还有解除绑定的.live()事件的.die()方法.即 ...

  3. Java重写&重载

      在学习完类和对象后,接下来就要进入面向对象的内容了,先从重写和重载开始吧.重写(Override)和重载(Overload)是两个不同的概念,也是两个容易混淆的概念,下面具体来说说这两者. 重写( ...

  4. Crond定时任务

    crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond ...

  5. async/await actor promise 异步编程

    Python协程:从yield/send到async/await http://blog.guoyb.com/2016/07/03/python-coroutine/ Async/Await替代Pro ...

  6. 【洛谷】【堆+结论】P4597 序列sequence

    [题目背景:] 原题cf13c 数据加强版(就是说原来能用DP做现在不行了QwQ) [题目描述:] 给定一个序列,每次操作可以把某个数+1-1.要求把序列变成非降数列.而且要求修改后的数列只能出现修改 ...

  7. Odoo的@api.装饰器

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281437.html Odoo自带的api装饰器主要有:model,multi,one,constrains, ...

  8. SVN 客户端使用

    一.TortoiseSVN基本设置 1.1 客户端设置     1.1  语言设置       二.基本操作 2.1 浏览服务器           用户名跟密码,跟公司配置管理员人员获取,没有专门的 ...

  9. Python学习笔记系列——高阶函数(filter/sorted)

    一.filter #filter()函数用于过滤序列.和map()类似,也接收一个函数和一个序列,把函数依次作用于每个元素,根据返回值是True还是False决定是否保留该元素. #filter()函 ...

  10. 一个牛公司的关于oracle数据的面试题

    我也忘记是从哪里download的了,为了加深记忆,也为了完成我的博客,我决定写进博客里,如果有错误,欢迎大家指正,谢谢. 问题一. 解释一下sum的作用? 答:求符合条件的记录某数值字段的和. 问题 ...