库管理
克隆库
1 2
| git clone https://github.com/php/php-src.git git clone --depth=1 https://github.com/php/php-src.git
|
历史管理
查看历史
1 2
| git log --pretty=oneline filename git show xxxx
|
标签功能
1 2 3 4 5 6 7 8
| git tag git tag -l 'v1.4.2.*' git tag v1.3 git tag -a v1.2 9fceb02 git tag -a v1.4 -m 'my version 1.4' git show v1.4 git push origin v1.5 git push origin --tags
|
回滚操作
1 2
| git reset 9fceb02 git reset 9fceb02 --hard
|
取消文件的修改
1 2
| git checkout -- a.php git checkout --
|
删除文件
1 2
| git rm a.php git rm --cached a.php
|
移动文件
1
| git mv a.php ./test/a.php
|
查看文件修改
1 2
| git diff git diff --cached
|
暂存和恢复当前staging
1 2 3 4 5
| git stash git stash apply git stash list git stash apply stash@{2} git stash drop stash@{0}
|
修改 commit 历史纪录
分支管理
创建分支
1 2
| git branch develop git checkout -b master develop
|
合并分支
1 2 3 4
| git checkout master git merge --no-ff develop git rebase develop git branch -d develop
|
克隆远程分支
1 2
| git branch -r git checkout origin/android
|
修复develop上的合并错误
- 将merge前的commit创建一个分之,保留merge后代码
- 将develop
reset --force
到merge前,然后push --force
- 在分支中rebase develop
- 将分支push到服务器上重新merge
强制更新到远程分支最新版本
1 2
| git reset --hard origin/master git submodule update --remote -f
|
Submodule使用
克隆带submodule的库
1
| git clone --recursive https://github.com/chaconinc/MainProject
|
clone主库后再去clone submodule
1 2 3
| git clone https://github.com/chaconinc/MainProject git submodule init git submodule update
|
Git设置
Git的全局设置在~/.gitconfig
中,单独设置在project/.git/config
下。
忽略设置全局在~/.gitignore_global
中,单独设置在project/.gitignore
下。
设置 commit 的用户和邮箱
1 2
| git config user.name "xx" git config user.email "xx@xx.com"
|
或者直接修改config文件
1 2 3
| [user] name = xxx email = xxx@xxx.com
|
查看设置项
设置git终端颜色
1 2 3
| git config --global color.diff auto git config --global color.status auto git config --global color.branch auto
|
Prev: Web App 相关技术
Next: 网页排序算法(三)代数方法求PageRank