git使用小结
本篇文章主要介绍自己在平时工作中使用git的一些常用命令,之前都是记录在本子上面,现在把他们记录在博客上,便于保存和回顾。
1. 建立自己的git仓库
- 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使用小结的更多相关文章
- Git学习小结 ~ Lethe's Blog
学习自https://www.liaoxuefeng.com/wiki/896043488029600 一.创建版本库 (1) git init 初始化一个Git仓库 (2)添加文件到Git仓库,分两 ...
- 转 git操作小结
UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...
- git参考, 小结
git官网: https://git-scm.com 菜鸟教程: http://www.runoob.com/git/git-tutorial.html 廖雪峰: https://www.liaoxu ...
- git merge 和 git rebase 小结
Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ---------------------- ...
- Git学习小结(第三次作业)
本文主要总结一下在学习和使用git中一些用到的命令. 参考教程:廖雪峰git教程 在windows上安装git 下载使用环境:http://msysgit.github.io/, 安装一路默认即可. ...
- Git 技巧小结
本篇博客内的内容,主要摘抄自 廖雪峰的 Git教程,这篇教程写的通俗易懂,步步深入,是我见过最棒的Git教程了.下面的全部内容,摘抄自此教程,有需要的朋友,请看完整版. Git版本库 git在创建版本 ...
- git提交小结
git有工作区和暂存区的概念,工作区就是可以看到文件目录的地方,暂存区则是提交代码的地方 第一步,进入文件工作目录,终端输入命令 $ dir1/dir2: 第二步,查看哪些文件已经修改,输入命令 $ ...
- git 使用小结
git git是一个分布式版本控制系统,主要用于多人协作.可以将自己的代码托管到github上. 常用的几个命令 git pull 拉取别人的修改到本地,如果拉取内容和本地所作的修改存在冲突,git会 ...
- git学习小结 (笔记)
Modesty helps one to go forward, whereas conceit makes one lag behind. "虚心使人进步,骄傲使人落后" 注:本 ...
随机推荐
- [STAThread]的含义
Posted on 2007-07-07 10:06 桦林 阅读(33100) 评论(10) 编辑 收藏 [STAThread]STAThread:Single Thread Apar ...
- Creating Your Own Server: The Socket API, Part 2
转:http://www.linuxforu.com/2011/09/creating-your-own-server-the-socket-api-part-2/ By Pankaj Tanwar ...
- LeetCode25 Reverse Nodes in k-Group
题意: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list ...
- ArcEngine实现捕捉节点
来自:http://blog.sina.com.cn/s/blog_4d0b75870100o960.html //获取最近的结点,然后在 OnMouseMove中显示 //pnt:鼠标移动点 // ...
- 【Android Api 翻译2】Android Testing(1) 浅尝Android测试的奥秘
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 仅供学习和交流使用,翻译不好勿喷,请只摘除不合适的地方 Testing The Android fram ...
- 程序员怎样在复杂代码中找 bug?(简单)
分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...
- jQuery图片提示和文字提示
图片提示: 效果如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!&&在eclipse.ini中为eclipse指定jdk启动
参考:http://blog.csdn.net/zyz511919766/article/details/7442633 http://blog.sina.com.cn/s/blog_028f0c1c ...
- codeforces 675E E. Trains and Statistic(线段树+dp)
题目链接: E. Trains and Statistic time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
- About TI CC3000 Wifi
http://forums.adafruit.com/viewtopic.php?f=22&t=44384http://learn.adafruit.com/adafruit-cc3000-w ...