配置
- 查看配置信息:
git config --list - 直接查看某个环境变量的设定:
git config user.namegit config user.email - 查看git版本:
git --version - 安装git:
sudo apt-get install git - 配置名字:
git config --global user.name "Your Name" - 配置邮箱:
git config --global user.email "email@example.com"
克隆、提交代码
-
git clone git@gitmobile.blued.cn:blued_mobile/git_test.git:从远程仓库克隆 -
git clone <repo> <directory>:克隆到指定的目录 -
git status:查看仓库当前的状态 -
git status -s:获得简短的结果输出 -
git pull --rebase:更新代码,rebase参数可以保证你即使进行了commit操作也不会额外生成一次快照 -
git diff:尚未缓存的改动 -
git diff --cached:查看已缓存的改动 -
git diff HEAD:查看已缓存的与未缓存的所有改动 -
git diff --stat:显示摘要而非整个 diff -
git add readme.txt:添加文件修改到暂存区 -
git add *:添加多个文件修改到暂存区 -
git reset HEAD <file>:暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响 -
git rm --cached <file>:直接从暂存区删除文件,工作区则不做出改变 -
git checkout .git checkout -- <file>...:用暂存区全部或指定的文件替换工作区的文件 -
git checkout HEAD .git checkout HEAD <file>:用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件 -
git commit -m "提交日志":将缓存区内容添加到仓库中 -
git commit -a:如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。例如:git commit -am '修改 hello.php 文件' -
git push origin master/develop/feature:将代码提交到远程分支 -
git reset --hard HEAD~1:恢复到之前的commit,1代表数量 -
git reset --hard commitID:恢复到指定的commitID,这个命令比较危险,会把这条commitID之后的全部覆盖 -
git push --force:恢复到某个commitID重新提交到远端 - 使用sourceTree可以撤销任何指定的提交记录,同样需要再提交一次。
-
git reset --hard e71ea349648eab13afa015f5cce5e7d0096625b4:回退到指定版本 -
git stash / git stash pop:保存当前本地的修改,无需提交到缓存区 -
git cherry-pick c492aa9: 提交摸个节点到当前分支
branch
-
git branch:查看当前分支。 -
git branch -r:查看远程所有的分支。 -
git branch -a:查看本地和远程所有的分支。 -
git branch xx:创建分支 -
git branch -d xx:删除分支 -
git branch -D xx:强制删除分支 -
git checkoup xx:切换到分支 -
git checkout -b xx:创建并切换到当前分支 -
git merge b1:合并分支b1到当前分支,需要b1在本地已拉取 -
vim 冲突文件:当merge冲突时,需要手动解决冲突 -
git add 解决冲突后的文件:解决完毕后需要再次添加 -
git cherry-pick 5b531cb8c62cdb8b5f10c406e41824a6388e3a82 6b531cb8c62cdb8b5f10c406e41824a6388e3a82:从另外一个分支里面挑选一些commit到当前分支
提交历史
-
git log:回顾下提交历史 -
git log 分支名/tag名/远程分支名:指定log -
git log --oneline:查看历史记录的简洁的版本 -
git log --graph:查看历史中什么时候出现了分支、合并 -
git log --reverse --oneline:逆向显示所有日志 -
git log --author:查找指定用户的提交日志,例如:git log --author=Linus --oneline -5 -
--since和--before:指定日期,例如git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges -
--no-merges:隐藏合并提交 -
git reflog:查看每一次命令
标签
-
git tag -a v1.0:创建一个带注解的标签 -
git tag -d v1.1:删除标签 -
git tag -a v0.9 85fc7e7:追加标签 -
git tag:查看所有标签 -
git show v1.0:查看此版本所修改的内容 -
git checkout v1.0:切换到某个tag节点。-f强制切换 -
git push origin --tags: 将标签推送到origin分支 -
git push origin --delete tag <tagname>删除远程tag - 可以基于某个tag拉取分支进行代码提交
协作
- 查看可以抓取和推送的远程地址:
git remote -v
子模块
-
git submodule init:初始化 -
git submodule update:更新
示意图
-
一个团队,理想情况下的分支是这样的:
团队协作
上一篇:UISearchBar常用属性
下一篇:iOS图片滤镜














网友评论