配置级别:--local 项目级、--global 当前用户级、--system 系统级
用户名和邮箱
$ git config --global user.name "runoob" $ git config --global user.email test@runoob.com
查看配置
$ git config --list $ git config user.name $ git --version
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
远程仓库
本地仓库由 git 维护的三棵“树”组成。
第一个是你的 工作目录,它持有实际文件; 第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动; 最后是 HEAD,它指向你最后一次提交的结果,可以改变HEAD指向其他版本。
改名文件,并且将这个改名放入暂存区
重置暂存区与工作区,与上一次commit保持一致
。(如何撤销上次的 commit | git reset HEAD ~ 撤销上次的 commit ,从暂存移到工作区)git 取消commit (介绍了 reset 和)[file] 恢复指定文件到工作区【恢复到最近的一次暂存区的状态,或初始工作区的状态】
git reset --hard[--keep] 3628164 回退到3628164,同时重置暂存区和工作区[保持暂存区和工作区不变]
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等。
在主目录下建立".gitignore"文件,此文件有如下规则:
1 #为注释
2 *.txt #忽略所有 .txt结尾的文件
3 !lib.txt #但lib.txt除外
4 /temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
5 build/ #忽略build/目录下的所有文件
6 doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
本地仓库连接到某个远程服务器
git add README.md
git push -u origin master 强制push的方法
Push到GitHub出错
git push -u origin master -f 使用强制push的方法,会使远程修改丢失,本地的 master 和远程的 master 相互关联。
git pull origin master 拉下来、然后解决冲突、git push -u origin master
什么时候使用git stash
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
分支策略
master
分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;dev
分支上,也就是说,dev
分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev
分支合并到master
上,在master
分支发布1.0版本;dev
分支上干活,每个人都有自己的分支,时不时地往dev
分支上合并就可以了。