1. git add 添加文件到staged area.
2. git commit 会commit staged file ,有几个选项比较重要:-a 跳过staged
area,直接commit,后面加文件名也会使那个文件跳过stage,直接commit。但是前提是文件已经在index中了,新文件不会自动加入。
3.git status 查看从上次commit到目前的变化,git diff会更详细,但是它只包含应该要包含在staged area中却还未包含进去的变化,git diff --staged则列出来从上次commit到staged area的变化。
4. .gitignore文件可以设置哪些文件被排除进去,通常可以设.o, .a等文件。
5. git rm 用来remove文件。
6. git mv可以用来重命名文件。
7. git log用来查看日志,git log -p查看详细,gitk 是个图形化的查看工具。
8.Unstaging a Staged File可以用git reset HEAD <file>。
Unmodifying a Modified File可以用git checkout -- <file>。
git commit --amend用来取消上次的commit。
9. git remote显示所有的remote(加-v显示详细信息)。
git remote add [shortname] [url]用来添加remote。
git fetch [remote-name]只会pull下来全部的更动,但不会自动merge,但是git pull会自动merge。
git remote show [remote-name]可以看到一个remote的详细信息。
git remote rename用来改变一个remote的名字。
git remote rm删除一个remote。
10.git tag列出所有的tag。git show tag-name可以查看tag详细信息。git tag [-a] tag-name -m
message [commit-checksum]如果有-a 就添加一个annotated
tag,如果没有-a,就添加一个lightweight tag,如果后面要在某个commit之后添加一个tag,就加上checksum好了。
git push有个选项 --tags会把tags信息也push上去。
11.
git branch testing添加一个testing的branch.
git checkout testing切换到testing branch.
git branch -b branchname tagname
git push origin branchname // push remote branch for one tagname
git branch --track branchname |git baanch branchname origin/branchname
// checkout branchname
git checkout --track origin/branchname
12. 切换branch的时候,当前的branch不能有和要切换过去的branch冲突的uncommitted changes.
13. git merge branch-name 将branch-name
merge到当前branch.如果有conflict,可以用status查看状态,解决conflict之后用add
通知git已经解决。然后用commit commit the merge。
14.
git branch -d branch-name,但是这个branch必须被全部merge到HEAD中了。如果选项是-D的化,就不管它的merge status了。
15. git branch --merged只显示被HEAD完全包含的branch,--no-merged只显示没被HEAD完全包含的branch。
16.
git push (remote) (branch)把本地某个branch push到remote上去。
git push (remote) (local-branch-name):(remote-branch-name)可以把本地branch push到remote branch上去。
17.git fetch 下载下来的branch不能edit,必须要手动merge到本地branch之后才可以edit。
$ git checkout -b local-branch-name remote-name/remote-branch-name 可以把server上的branch下载下来,并且可以直接edit。
18.
Tracking Branches里面可以不必在pull和push后面加remote参数。git branch -r列出remote tracking branches.
19. git push [remotename] :[remote-branch]删除掉某个remote branch。
20. rebase可以获得和merge一样的效果,但是log记录更好,因为看起来没有分支。
git rebase
--onto newbase upstream branch会把从upstream到branch的改动rebase到newbase上去。git
rebase basebranch topicbranch会把topicbranch rebase到basebranch上。
21.
Do not rebase commits that you have pushed to a public repository.
22.git fetch默认会获取repo所有branch的进度,除非指定哪个branch。git push可以将某个branch push到repo中去。
23、 git reset --hard HEAD~3 会将最新的3次提交全部重置,就像没有提交过一样。
24、git stash — 暂存临时代码
可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修
Bug,等到修完Bug,提交到服务器上后,再使用’git stash apply’(stash中还有备份)将以前一半的工作应用回来。或者用"git stash pop"来将改的应用返回来,此时stash中清空 ,相当于调用了git stash clear来清空stlash
25、git config --global user.name="weina"
git config --global user.email=''weina@weina.com" 配置全局的name和email,以便再提交的时候,能看到是谁提交的
26、clone porject 用git clone username@ip:29418/projectPath
拷贝项目
使用 scp -p -P 29418 yourdomain:hooks/commit-msg .git/hooks/拷贝到你的项目中,可以通过commit后 gitk 查 看log日志有没有相应的changeId来确认。如果不拷贝这个hooks,在提交到gerrit时很容易发生错误。
27、使用utf8确定commit的字符集修改GIT_HOME/etc/gitconfig文件增加
[gui]
encoding=utf-8
[i18n]
commitencoding=utf-8
logoutputencoding=utf-8
分享到:
相关推荐
Git与Github教程详细介绍了Git的工作机制,Git命令行的基础学习,Git-Eclipse和Nginx的准备工作,Git与Github分支体系,Git与Github的远程和本地工作原理,Git与Github克隆实战和最后的课程精华总结部分,可以帮助...
Git权威指南 目 录 前 言 第1篇 初识Git 第1章 版本控制的前世和今生/ 2 1.1 黑暗的史前时代/ 2 1.2 CVS—开启版本控制大爆发/ 5 1.3 SVN—集中式版本控制集大成者/ 7 1.4 Git—Linus 的第二个伟大作品/ 9 第2章 ...
GitKraken中文语言包 目前支援版本: 8.7.0 至 Release 下載 strings.json 取代檔案 Windows: %LOCALAPPDATA%\gitkraken\app-8.7.0\resources\app.asar.unpacked\src\strings.json Mac: /Applications/GitKraken.app/...
Professional Git English | 6 Jan. 2017 | ISBN: 111928497X | 480 Pages | AZW3/MOBI/EPUB/PDF (conv) | 39.67 MB Professional Git takes a professional approach to learning this massively popular ...
Git for Windows 2.7.3 发布了。 新特性: Git for Windows now ships with the Git Credential Manager for Windows. bug修复: We now handle UTF-8 merge and squash messages correctly in Git GUI. When ...
因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助...
1、Git介绍和使用教程,主要针对新手入职快速自学git的使用,也可供大佬面向学校或者公司培训使用,根据多年经验总结和整理出来的课程,上手工作使用的git知识这里全都有,如果是想用来制作自己的培训课程的话,简单...
Git是目前非常流行的分布式版本控制系统,由Linus Torvalds为Linux内核开发而创建,该资源包含 Git-2.42.0-64-bit-windows安装版,仅供学习,下载后请及时删除 Git是目前非常流行的分布式版本控制系统,由Linus ...
git
1 2 Git 简史 1 3 Git 基础 1 4 安装 Git 1 5 初次运行 Git 前的配置 1 6 获取帮助 1 7 小结 2 Git 基础 2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的...
Git-2.30.2-32-bit.exe.zip(免积分)Git-2.30.2-32-bit.exe.zip(免积分)Git-2.30.2-32-bit.exe.zip(免积分)Git-2.30.2-32-bit.exe.zip(免积分)Git-2.30.2-32-bit.exe.zip(免积分)Git-2.30.2-32-bit.exe.zip...
git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git...
1 安装GIT 代码如下:$ sudo aptitude install git$ sudo aptitude install git-doc git-svn git-email git-gui gitk git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,...
本书不仅是Git日常操作指南,而且深入剖析了Git的内部原理,能有效帮助程序员提升软技能。 如果你刚刚启程探索Git,本书对于Git的用法、基本命令和分支机制的讲解将助你轻松入门、不走弯路。 如果你在Git之路上已经...
git安装包
git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git 可视化工具git ...
LFS是Large File Storage的缩写,用了帮助git管理大的文件 ...对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
GIT 压缩包 适用于压缩包式安装git
git常用命令,嵌入式开发过程中,也经常使用git进行版本管理,根据项目需求对git的使用程度不一样。这里介绍一种,git的简单使用,可以满足大部分的嵌入式开发,可以说嵌入式开发使用git后,可以基本拜托掉之前的的...
GIT相关书籍下载 Git+使用教程 Git权威指南 01链接 GIT相关书籍下载 Git+使用教程 Git权威指南 02链接 Git+使用教程.pdf git.part1.rar git.part2.rar Gitbook.pdf git_ch03.pdf Git权威指南.pdf git简介.pdf ...