Git 使用基础(二)
git checkout
git checkout
命令提供三种功能:1、查看文件历史修改 2、切换到某次提交(或某次提交的特定文件) 3、切换分支
用法:
git checkout master
从当前分支切换到master分支
git checkout <commit> <file>
将本地文件file 更新到 commit 次提交
例子:
git log --oneline 查看下历史提交如下:
```
ad90c97 modify link
9de0669 add oneline.png
b83c889 modify test.txt
```
git checkout ad90c97 查看修改内容
git checkout b83c889 test.txt 查看对test.txt 文件的修改
git revert
git revert
命令用来撤销历史中的某次提交,并且不会撤销其后面的提交历史
用法:
git revert <commit>
撤销 commit 次提交
git reset
git reset
命令用来撤销历史中的某次提交,也会撤销其后面的提交历史以
用法:
git revert <commit>
撤销 commit 次提交
git revert --hard <commit>
将当前分之会退到 commit 提交,并且会撤销本地未提交的修改(不安全)
git clean
git clean
命令用来移除本地未暂存的文件,相当于git reset --hard
用法:
git clean -df
移除本地未暂存的修改以及文件
git rebase
git rebase
命令用来将一个分支移动到某个分支(如B分支),在B分支上作为最新的提交(结果相当于 git merge)
用法:
git rebase <base>
将当前分支移动到base分支
git merge
git merge
命令用来将一个分支合并到某个分支,合并的结果作为一次新的提交
用法:
git merge <branch>
合并branch分支合并到当前分支,和git rebase
的区别以及各自优缺点见这里: git rebase vs git merge
git fetch
git fetch
命令用来获取远端仓库最新代码到本地,不会自动合并(相当于开了一个tmp分支)
用法:
git fetch <remote> 或 git fetch <remote> <branch>
git pull
git pull
命令用来获取远端仓库最新代码并且和本地代码自动合并
用法:
git pull <remote>
相当于:git fetch
git pull --rebase <remote>
相当于:git fetch
实际上,很多开发者都使用 git pull --rebase
git 也提供了对应的配置如下:
git config --global branch.autosetuprebase always
详细理由见这里: git pull 和 git pull –rebase的不同
git push
git push
命令用来将本地提交推送到远程仓库
用法:
git push <remote> <branch>
git push <remote> --tags
将本地标签推送到远端,默认标签不会自动推送
git remote
git remote
命令用来列出每个远程库的简短名字
用法:
git remote
要查看当前配置有哪些远程仓库,可以用git remote
命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
git remote -v
结果如下:
origin https://github.com/strivingboy/strivingboy.github.com.git (fetch)
origin https://github.com/strivingboy/strivingboy.github.com.git (push)
显示对应的克隆地址
git remote add <shortname> <url>
添加一个新的远程仓库,可以指定一个简单的名字 shortname,以便将来引用
git remote rm <shortname>
删除远端名为shortname的仓库
git remote rename <old-name> <new-name>
将远程仓库 old-name 重命名为 new-name
下一篇:Git 使用基础(三)