我的git学习笔记
1、安装Linux系统下的安装:yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-develwindows下的安装:http://msysgit.github.com/直接下载安装文件。点击安装。windows下的git命令窗口windows下git的图形界面窗口:
.gitignore
文件。
.gitignore
文件创建规则: - 空白行或以
#开始的行是忽略的。
- 标准的glob模式有效。(Standard glob patterns work.)
- 你可以使用反斜杠(
/
)结尾的格式指定一个目录. - 你可以使用感叹号(
!
)的开始形式取反。
Glob模式类似shells使用的简单正则表达式。星号(*
)匹配0或多个字符;[abc]
匹配方括号中任何字符(该例子中是a
, b
, or c
);问号(?
)匹配单个字符;中括号包含连字符分隔的字符匹配该范围的任何字符(该示例中是0到9)。
4、常用的命令
- git diff 查看改变信息
- git diff --cached比较暂存区和上次提交的变化。
- git commit -a -m 'added new benchmarks'跳过add,直接提交所有改变。注意该命令只有tracked状态的文件才有效,如果新增文件并未使用add,则该命令无效,需add之后才生效。
- git rm grit.gemspec 删除文件,(只能删除提交的文件)
- git rm --cached readme.txt如果忘记将文件添加到
.gitignore中,并且意外的的保存了他,可以使用 该命令将文件移出暂存区。文件变成untracked状态。
- git mv file_from file_to重命名文件
- git log查看提交历史
-
git log -p查看所有详细提交历史
- git commit --amend改变上次提交(只是撤销上次commit的内容,使文件回到staged状态)
- git reset HEAD <file>...去存储化一个文件。(当使用git add后,文件状态变为staged,使用git reset HEAD之后,文件状态变为unstaged)。
- git checkout -- <file>...撤销文件修改,git checkout没有 -- 时,可以切换分支,git checkout testing,将会切换到testing分支上。git checkout -b iss53命令则完成了以下两个命令:$ git branch iss53 $ git checkout iss53
- git remote 查看配置的远程服务
- git remote add [shortname] [url]增加远程版本库
- git branch testing创建分支testing
- git branch -d hotfix 删除分支hotfix,当git branch不带参数时,将列出当前分支。
-
git push [remotename] :[branch]
删除远程分支
-
5、push.default
-
如果refspec没有特别给出时,定义
git push行为。不同的值配套特定的工作流。例如,一个纯的中央工作流(比如,fetch源和push目标相同),upstream将适合你所要的。其他可能的值有:
-
-
nothing - 将不push任何事物,除非refspec明确的给出。这主要意味着通过被明确提示可以使人们避免错误。
-
current - push当前分支更新接收端同名的分支。对于中心和非中心工作流都有效。
-
upstream - push当前分支返回到集成之前的改动分支(叫做@{upstream})。这种模式仅用于你推送的版本库和平常pull的一样(例如:中心工作流)。
-
simple -在集中式工作流中, 像upstream这样工作的,有一个added安全模式拒绝那些upstream分支名称和本地不同的push。当推送到远程的和平常pull的远程不同,将如current运作。这是最安全的操作,适合新手。该模式将在Git2.0称为默认模式。
-
matching - push 两端相同名称的所有分支。这将使得你要推送的版本记住那些推出的分支的设置(例如,如果你常常推送主分支到那里,没有其他分支,你推送的版本将拥有这两个分支,并且你本地的主分支也会推送到那里)。
要想高效的利用该模块,你应该保证在运行git push之前所有要推送的分支都已准备好。因为该模式的整个要点是允许一次推送所有的分支。如果你习惯于在单个分支工作结束后推送结果,其他门之尚未完成,则该模式不适用于你。同样,该模式也不适用于推送到一个共享的中心版本库,因为其他人可能在那里新建分支,或者更新你控制之外的分支的tip。
当前是默认的,但是在 Git 2.0 将把默认改为simple.
-
更多推荐
所有评论(0)