Git命令使用总结
来源:互联网 发布:midi钢琴软件 编辑:程序博客网 时间:2024/06/05 18:42
对于版本控制而言,现在Git已经非常普遍了,我现在接触的公司,只要源码过大,基本都用Git了,当然SVN的使用也还常见,小型项目用的比较多。
我工作这几年,最开始用过ClearCase。。。现在基本全忘了。
后来接触最多的就是Git和SVN了,一般来说,大公司基本都用Git,且有专门的人来做版本控制,小公司就得靠开发人员自己搭建了。
对于我自己而言,因为项目原因,Git也不算用的非常熟的。
最开始偶然用了几次,发觉Git确实非常不错,它的分支管理,真的非常棒棒哒。
真正对Git有个比较熟练的掌握,还是专门通读了Pro Git 这本书,配合做了些小练习,加上工作中的使用
下面是自己总结的Git命令:
1. git config --global user.name "John Doe"// 配置username
2. git config --global user.email johndoe@example.com//配置email
3. git config --global core.editor emacs //配置文本编辑器
4. git config --global merge.tool vimdiff //配置差异分析工具
5. git config --list // 查看配置信息
6. git help // 获取帮助
7. git add *.c // 添加工作区的文件到暂存区
8. git add README // 添加工作区的文件到暂存区
9. git commit -m ‘initial project version’ // 提交暂存区的文件到本地仓库
10. git clone git://github.com/schacon/grit.git mygrit// 拉取远程仓库到本地
11. git status //当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件
12. git diff // 工作区和暂存区的差异
13. git log 文件或者目录 // 查看某个文件或者目录的git提交记录
14. git diff --cached // 暂存区和git仓库的差异
15. rm和git rm //rm删除工作目录下的,git rm 删除暂存区的
16. git log // 查看提交信息
17. git remote -v // 查看远程仓库
18. git fetch <远程主机名> // 将某个远程主机的所有分支更新,全部取回本地。
19. git fetch <远程主机名> <分支名> // 将某个远程主机的指定分支更新,取回本地。所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取
20. git branch -d 分支名 //删除分支
21. git checkout -b dev origin/dev //checkout远程分支dev到本地,在本地起名为dev分支,并切换到本地分支dev
22. git mergetool // 解决冲突
23. git clone --bare my_project my_project.git //现存仓库导出为纯仓库
24. git init --bare --shared // 建立仓库
25. git log origin/featureA ^featureA // 查看两个分支的差异log
26. git rebase -i
27. git format-patch -M origin/master //-M 选项允许Git 检查是否有对文件重命名的提交
28. git show commit值 查看某个commit的提交记录
29. git log origin/master..HEAD //显示在你当前分支上二不在远程origin上的提交
30. git stash // 储藏
31. git pull的默认行为是git fetch + git merge,
git pull --rebase则是git fetch + git rebase.
32. git log -p -2 -stat // -p显示每次提交的差异 -2只显示两次提交,--stat 显示简要的增改行数统计
33. git checkout -- xxx // 取消工作区的修改
git reset HEAD filename 从暂存区中移除文件
git reset –hard HEAD~3 会将最新的3次提交全部重置,就像没有提交过一样。
git reset –hard [commit id] (38679ed709fd0a3767b79b93d0fba5bb8dd235f8) 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
git reset HEAD xxx // 取消暂存 reset是指将当前head的内容重置
git reset -soft :取消了commit
git reset -mixed(默认) :取消了commit ,取消了add
git reset -hard :取消了commit ,取消了add,取消源文件修改
git revert HEAD~1 ,那么会撤销倒数第二次的提交结果。而倒数第一次的提交记录,仍然在。
33. git branch test//新建本地分支
33. git checkout -b iss53//新建并切换到该分支
34. git merge hotfix //合并分支hotfix到master
34. git fetch origin // 同步,只是同步到了本地,还未与本地分支合并
git push 远程仓库名 分支名 // 推送本地分支到远程
git push 远程仓库名 本地分支名:远程分支名 // 推送本地分支到远程,并重命名
34. git pull origin master
git checkout -b [分支名] [远程仓库名]/[分支名] // 将远程分支checkout到本地,可以重命名
git checkout -b --track [远程仓库名]/[分支名] // 效果同上行,只是没有重命名
附1: 关于HEAD^ 和 HEAD~
G H I J
\ / \ /
D E F
\ | / \
\ | / |
\|/ |
B C
\ /
\ /
A
A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2
附2:发几个自己初期使用Git时想到的几个关于版本控制的问题:(答案在后续的博客中更新)
1. 怎么针对自己的项目工程建立repo管理多个git仓库?
注:因为对于git,我们一般来说自己作为用户使用的比较多,不会过多去考虑搭建版本控制仓库服务器建立的问题,所以提出了此问题。
2. 使用git建立远程仓库,让别人能够通过git clone下来?
注:这里不包含上传github的方式,指的是局域网内的搭建。
3. 如何使用gitolite搭建服务器?
- git命令使用总结
- git命令使用总结
- Git 使用命令总结
- git命令使用总结
- Git命令使用总结
- git命令使用总结
- git 基本命令使用总结
- Git命令使用个人总结
- Git 高频使用命令解析总结
- 在windows上使用Git命令总结
- 使用git进行版本控制命令总结
- 使用Git命令心得总结---附上.gitconfig
- 【总结】基本的git使用命令
- Git特点和Git常规命令使用总结
- [GIT] git应用 命令总结
- git 命令总结
- git命令 学习总结
- git命令总结
- 齐次空间的裁剪-为什么不在投影除法后裁剪重要
- 润乾报表v4-怎样实现用存为本地的html离线填报到其他服务器
- iOS10以后的推送
- tensorflow on win7 / win10 64
- jq实现图片的轮播,以及图片的等比例缩放
- Git命令使用总结
- ubuntu12.04安装tomcat
- android中xml tools属性详解
- out.clear(); out = pageContext.pushBody();
- Access,MySQL,MS SQL Server数据库连接池配置方法
- 使用Nginx+Lua(OpenResty)开发高性能Web应用
- react native key,ref,bind的作用和使用
- 【Gradle】配置详解(持续更正补充)
- 解决KEIL MDK中文乱码的问题