本篇文章主要介绍自己在平时工作中使用git的一些常用命令,之前都是记录在本子上面,现在把他们记录在博客上,便于保存和回顾。

  1. 1. 建立自己的git仓库

  2. 1.1 在一个新建的repo文件夹里面,执行git init,建立一个本地仓库。

配置自己的信息

git config –-global user.name “hu hao”

git config –-global user.email “huhao@email.com

1.2 添加新加入和已经修改的文件到本地仓库

git status               #查看当前本地git库的修改差异

git add file_name     #将file_name加入到本地暂存区

git add .           #将当前目录下的所有文件全部添加到暂存区

git commit              #将本地暂存区提交到本地库中去

提交日志写法:首行要少于50个字的开发概括信息

第二行为一个空行

第三行为细致描述开发信息

git pull                          #将远程git库中的代码更新到本地来

git push                        #将本地库中的代码提交到远程git仓库中去

git rm                           # 删除一个文件

git rm  --cache filename   #删除已经add的文件

git mv old_filename new_filename    #重新命名一个文件

在已经建立好的repo文件夹下的git库中,将本地的git库升级为远程的git中心仓库。

然后,你就拥有了自己的一个git远程仓库了,此时,可以新建一个自己的文件夹,然后从repo_git这个仓库中提取代码了,从哪里提取的,就向哪里提交。

1.3 使用git clone repo_git的路径就可以拷贝代码了。

1.4 另一种方法创建远程git仓库

在本地的git仓库上面添加一个远程仓库

git remote add origin ssh://用户名@IP地址/本地仓库的地址

git push origin master     #将本地的master(建立git仓库时,会默认建立一个master分支)跟踪到远程origin分支上面去。

查看远程分支情况:git remote show origin

2.git的diff使用

对于已经修改,但是还没有add的文件,可以用git diff a.c来查看a.c文件的前后修改对比,如果对修改的不满意,可以用git checkout a.c 来还原此次的修改。

对于已经修改,并且已经add的文件,可以用git diff –-cached来查看a.c文件的前后修改对比,如果对已经提交的修改不满意,可以先用git reset HEAD a.c来去掉a.c的文件的暂存属性,然后再次修改,add即可

如果你要干干净净的回到之前的某个版本,在此之后的所有提交都不保留,那么 git reset –hard commit号 就可以了。

如果要查看某一个版本之前的分支的某处代码,建议在当前分支上,新建一个分支,在新分支上面,使用git checkout commit号

git branch   #查看当前分支状态

git branch new_branch  #新建一个new_branch分支,新分支包含于原分支完全相同的文件内容

git checkout new_branch   #切换到new_branch分支上面,在新分支上,怎么折腾都行

git branch –d new_branch  #删除new_branch ,不能删除当前正在使用的分支

要合并new_branch的内容到主分支上面去,先切换到主分支上(git checkout master),然后git merge new_branch就可以了。如果在合并代码的时候(分支合并到主线上),有冲突的文件,合并时会有提示,并且在主线冲突文件中有对于的冲突说明。修改完主线上的冲突文件后,需要再次add,并且commit,然后再次git merge

查看远程分支,详见git远程分支相关操作

3. git log查看

git log   直接查看所有提交的信息

git log –p  查看每次修改的详细信息

git log --pretty=format:'%h : %s' –graph 打印出可视化的提交图

4.  .gitingore文件

自己的.gitignore文件,git在提交时,会自动忽略掉.gitignore里面的文件类型,编译过程中一些临时的文件就不需要提交到git库上面去。

*.o
*.a
*.cmd
*.order
*.builtin
*.d
*.symvers
*.lzma
*.ko
*.tmp_*
System.map
vmlinux
root_uImage
kernel-rt*
.verson

以后用到的会及时的补充上来。恩,先就写什么多了。

详细参考见:git中文版手册

git使用小结的更多相关文章

  1. Git学习小结 ~ Lethe's Blog

    学习自https://www.liaoxuefeng.com/wiki/896043488029600 一.创建版本库 (1) git init 初始化一个Git仓库 (2)添加文件到Git仓库,分两 ...

  2. 转 git操作小结

    UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...

  3. git参考, 小结

    git官网: https://git-scm.com 菜鸟教程: http://www.runoob.com/git/git-tutorial.html 廖雪峰: https://www.liaoxu ...

  4. git merge 和 git rebase 小结

    Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ---------------------- ...

  5. Git学习小结(第三次作业)

    本文主要总结一下在学习和使用git中一些用到的命令. 参考教程:廖雪峰git教程 在windows上安装git 下载使用环境:http://msysgit.github.io/, 安装一路默认即可. ...

  6. Git 技巧小结

    本篇博客内的内容,主要摘抄自 廖雪峰的 Git教程,这篇教程写的通俗易懂,步步深入,是我见过最棒的Git教程了.下面的全部内容,摘抄自此教程,有需要的朋友,请看完整版. Git版本库 git在创建版本 ...

  7. git提交小结

    git有工作区和暂存区的概念,工作区就是可以看到文件目录的地方,暂存区则是提交代码的地方 第一步,进入文件工作目录,终端输入命令 $ dir1/dir2: 第二步,查看哪些文件已经修改,输入命令 $ ...

  8. git 使用小结

    git git是一个分布式版本控制系统,主要用于多人协作.可以将自己的代码托管到github上. 常用的几个命令 git pull 拉取别人的修改到本地,如果拉取内容和本地所作的修改存在冲突,git会 ...

  9. git学习小结 (笔记)

    Modesty helps one to go forward, whereas conceit makes one lag behind. "虚心使人进步,骄傲使人落后" 注:本 ...

随机推荐

  1. 使用openssl工具生成证书

    第一步. 生成rsa私钥文件 :\> openssl genrsa -out bexio.pem 1024 : 若要加密生成的rsa私钥文件(des3加密) :\> openssl gen ...

  2. select,epoll的比较

    机制: select:只支持水平触发(数据不处理完无限通知) epoll:支持水平触发和边缘触发(仅通知一次) 单进程监控FD个数 select: 由FD_SETSIZE设置,默认值是2048.在大量 ...

  3. 深入解析 ext2 文件系统

     很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了.当然学习数据恢复,首先要学习文件系统. ...

  4. SSMTP—让Linux系统从Office 365发送邮件

    SSMTP-让Linux系统从Office 365发送邮件 导读 SSMTP 是一个非常简单实用的小工具,它可以将 Linux 系统的电子邮件中继到 Office 365.Google 或其它第三方 ...

  5. apt-mirror is already running(已运行)错误解决方案

    运行sudo apt-mirror却无法启动服务了.而是给出了一行错误提示信息:               apt-mirror is already running, exiting at /us ...

  6. C++与正态分布

    正态分布(Normal distribution)又名高斯分布(Gaussiandistribution).若随机变量X服从一个数学期望为μ.方差为σ^2的高斯分布,记为N(μ,σ^2).其概率密度函 ...

  7. VC++制作DLL详解

    1.    DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径——静态链接和动态链接. 1.    静态链接 链接程序搜索对应的库文件(.lib),然后将这个对 ...

  8. iOS 超 Easy 实现 渐变导航栏

    接着上周的项目, 在上周我别出心裁的在自定义TabbarController中加入了自定义转场动画, 受到了大家广泛的喜爱, 再次表示感激, 今天我们继续实现LifestyleViewControll ...

  9. Swift 2.0学习

    前几天在苹果官方文档学习iOS9 3D Touch的时候,发现苹果关于3D Touch的smaple code,竟然是用Swift语法写的,并且根本没有OC版本的. 看来学习Swift语法是势在必行了 ...

  10. vb.net中的SqlHelper

    1.定义: SqlHelper是一个基于·NET Framework的数据库操作组件.组件中包含数据库操作方法.SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),Sq ...