git常用命令1
1、git clone <版本库网址> -- 从远程主机克隆一个版本库(示例:克隆interfacetest项目),该命令会在本地主机生成一个目录,与远程主机的版本库同名。即在自动生成一个interfacetest文件名称的git项目 -- git clone http://gitlab.58corp.com/baseserver_qa/interfacetest.git 2、git remote -- 为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名,如不带选项,则git remote命令列出所有远程主机 -- 示例(克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其它的主机名,需要用git clone -o <主机名> <版本库网址> $ git clone http://gitlab.58corp.com/baseserver_qa/interfacetest.git $ git remote origin 以上显示当前只有一台远程主机origin git remote -v :查看远程主机对应的网址 git remote show <主机名> 查看该主机的详细信息 git remote add <主机名> <网址> :添加远程主机 git remote rm <主机名> :删除远程主机 git remote rename <原主机名> <新主机名>:修改远程主机名 3、git fetch:远程主机的版本库有了更新,需要将这些更新取回本地,取回的代码对本地代码没有影响。 git fetch <远程主机名> <远程分支名> git fetch origin master :取回远程主机origin的远程分支master代码 读取完成后用git branch -r或者git branch -a命令查看分支,读取的远程master分支显示为origin/master git fetch <远程主机名> :将某个远程主机的更新,全部取回本地。 默认取回所有分支branch的更新,如果只想取回特定分支的更新,需要指定分支名 4、git branch :分支的操作,比如创建分支和查看分支等待 git branch -r:查看远程分支 git branch -a:查看所有分支 git branch dev:创建Dev分支,但是依然保留在当前分支 5、git checkout :操作文件和操作分支 git checkout -b <> <fetch取回到本地的分支> git checkout -b wangkechun origin/master :在上面fetch取回的mater分支的基础上创建本地新的分支wangkechun git checkout master:将当前分支切换到master分支。 git checkout . :放弃当前目录下的修改 git checkout -- <文件名称> :把该文件或所有的文件在工作区的修改撤销到最近一次git add或git commit时的内容 6、git merge或git rebase:将fetch下来的远程分支代码和本地的当前分支合并 git merge origin/master 或者 git rebase origin/master 都表示在当前分支上,合并origin/master 7、git pull:作用为取回远程主机某个分支的更新,再与本地的指定分支合并。等同于fetch+merge或fetch+rebase git pull <远程主机名> <远程分支名>:<本地分支名> git pull origin next:master:取回origin主机的next分支,与本地的master分支合并 如果省略<本地分支名>则与当前本地分支合并 git pull origin:将当前分支推送都origin主机的对应分支 8、gitk &或者gitk --all & : git内建的图形界面展示命令 9、git 合并代码的两种方式:git rebase或者git merge
10、git diff 查看合并后的情况:查看比对两次文件内容具体修改了什么。
HEAD 表示当前版本,也就是最新的提交。上一个版本就是HEAD^,HEAD~2相当于HEAD^^
git diff HEAD -- <filename> 查看工作区和版本库里面最新版本的区别
11、零散命令
git remote :打印远程主机名称 git remote -v :查看远程主机的网址 git remote show <主机名> : 可以查看主机的详细信息 git remote add <主机名> <网址>:添加远程主机 git remote rm :删除远程主机 git remote rename <原主机名> <新主机名> git reset --hard HEAD~2 git cherry-pick b1ac9f5f0bec9ee3d git checkout -- gitk & git status git merge --abort git fetch git rebase origin git cherry-pick cec1fdfc6c91d7131f7f8 git cherry-pick --abort git fetch git rebase origin git push origin wangkechun:master