*初始化git仓库,使用gitinit命令

  *添加文件到git仓库分两步:

  1、使用git add filename ;可分多次使用,添加多个文件到暂存区

2、使用git commit -m “说明” ;完成提交到分支

兄弟连linux培训

教程  Git在

linux

下的使用

  *查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容

  *HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。

  *回退版本:使用git log查看提交历史;使用gitlog --pretty=oneline 精简显示

  使用git reset --hardcommit_id 回退到版本号为commit_id的版本

  *回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git resethard commit_id 返回即可。

  *注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。

  *撤销修改:

  1、如果文件还在工作区,即没有add也没有commit,则使用gitcheckout -- filename 还原到服务器版即可;

  2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;

  3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;

  4、如果已经push到远程仓库,就麻烦了

  *删除使用以下命令:

  1、gitrm filename 从工作区删除

  2、gitcommit -m ”说明“ 更新分支中文件进行删除

  将在工作区的文件删除之后,可以使用gitcheckout -- filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。

  *分支:

  1、创建分支

  git checkout -b branchname 创建并切换到改分区,相当于一下两个命令:

  git branch branchname 创建分支

  git checkout branchname 切换到分区

  2、查看当前指向的分支:git branch 会列出所有分支,当前指向的分支之前多了个*

  3、切换分支就是git checkout branchname

  4、合并分支:git merge branchname 合并branchname到当前分支

  5、删除分支:git branch -d branchname 删除branchname分支

  注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全; 这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。

  *冲突解决:git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并

  使用git log --graph 可以查看分支合并图。

  *保存工作现场 git stash 保存之后就可以进行其他工作 而不影响上次的修改

  恢复工作现场:1、git stash apply 恢复时并不删除stash中内容

  2、gitstash pop 恢复时会删除stash中的内容

  *远程库信息产看使用git remote (-v)加上-v显示信息更加详细

  *分支推送到远程库:即将所有本地的提交推送到远程库

  git push origin(远程库名) master (要推送的分支)

  *抓取分支:git pull ; git clone

  *协作模式:

  1、使用git push origin branchname 推送自己的修改

  2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并

  3、如果合并有冲突,解决冲突,在本地提交

  4、再推送

  注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch --set -upstream branch origin/branchname

  *在本地创建与远程对应的分支:git branch -b branchname origin/branchname 本地与远程分支的名称最好一致

  *创建标签

  1、打标签git tag name 默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

  2、显示标签:git log -pretty=oneline --abbrev -commit

  git tag tag_name commit_id

  3、查看标签:git tag 显示所有标签

  4、查看标签信息:git show tag_name

  5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字

  *操作标签:git tag -d tag_name 删除标签

  推送标签到远程库:git push origintag_name

  一次推送所有标签到远程库:git pushorigin --tag

最新文章

  1. 移动端访问PC站点时自动跳转至移动站点
  2. angular directive指令内的参数
  3. Linux scp 远程文件/目录传输
  4. iOS 数据存储 - 归档和解归档
  5. .net控件事件中的Sender
  6. mysql安装图解 mysql图文安装教程(详细说明)
  7. CMP指令(转)
  8. 【锋利的JQuery-学习笔记】添加提示图片
  9. CodeForces 489D Unbearable Controversy of Being (搜索)
  10. GDI+绘制文本
  11. 联通超级战舰W910 Root 后不能 上网 解决方案
  12. 51中的C语言数据类型
  13. 了解计算机与操作系统发展阶段--Windows
  14. 利用referer属性,记录百度搜索跳转参数
  15. vs2017添加引用出错:对COM组件的调用返回了错误HRESULT E_FAIL
  16. 利用htmlparser读取html文档的内容
  17. Xamarin Android 下拉列表
  18. UVa 1103 Ancient Messages(二重深搜)
  19. (转)WebSphere禁用SSLv3和RC4算法教程
  20. Nodejs学习笔记(十七)—浮点运算decimal.js

热门文章

  1. python基础语法之集合set
  2. 逻辑回归2-scikit-learn参数介绍
  3. 【神经网络与深度学习】【CUDA开发】【VS开发】Microsoft官方移植了Caffe配置过程说明
  4. HDU 1114 Piggy-Bank(动态规划、完全背包)
  5. Java学生成绩绩点管理系统
  6. 【6.12校内test】T2 子集
  7. HDU-4507-吉哥系列故事-恨7不成妻
  8. json格式和对象类型的转换20170330
  9. 本地安装node.js模块
  10. HTML-复杂动画和变形