1.origin:默认的远程版本库名称
事实上 git push origin master 的意思是 git push origin master:master (将本地的 master 分支推送至远端的 master 分支,如果没有就新建一个)
默认情况下,origin指向的就是本地的代码库托管在Github上的版本
克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其他的主机名,需要用git clone命令的-o选项指定。
$ git clone -o goal https://github.com/project/project.git
$ git remote
goal
上面命令表示,克隆的时候,指定远程主机叫做goal。
2.git pull: 取回远程主机某个分支的更新,再与本地的指定分支进行合并
<来源地>:<目的地>
$ git pull <远程主机名> <远程分支名>:<本地分支名>
比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。
$ git pull origin next:master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull origin next
上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。
$ git fetch origin
$ git merge origin/next
---------------------------------
合并分支
或者在master分支下:
$ git merge next
$ git push origin master
3.git push: 将本地分支的更新,推送到远程主机
<来源地>:<目的地>
$ git push <远程主机名> <本地分支名>:<远程分支名>
如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
$ git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
$ git push origin :master
# 等同于
$ git push origin --delete master
上面命令表示删除origin主机的master分支。
4.git fetch: 一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地(类似git pull)
$ git fetch <远程主机名>
上面命令将某个远程主机的更新,全部取回本地。
git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。
默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。
$ git fetch <远程主机名> <分支名>
比如,取回origin主机的master分支。
$ git fetch origin master
所取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取。
5.git branch: 查看本地分支
git branch -r: 查看远程分支(r:remote远程的)
git branch [name]: 创建新的本地分支,但不会自动切换到当前分支
git checkout -b [name]: 创建新的本地分支并立即切换到新分支
git checkout [name]: 切换分支
6.git remote: 管理远程仓库(主机名),列出所有远程主机
git remote -v: 可查看远程主机的网址
$ git remote -v
origin git@github.com:jquery/jquery.git (fetch)
origin git@github.com:jquery/jquery.git (push)
上面命令表示,当前只有一台远程主机,叫做origin,以及它的网址
git remote show <主机名>: 查看该主机的详细信息
git remote add <主机名><网址>: 添加远程主机
git remote rm <主机名>: 删除远程主机
git remote rename <原主机名><新主机名>: 远程主机的改名
7.版本操作相关指令:
git tag 查看版本
git tag -r 查看远程版本
git tag [name] 创建版本
git tag -d [name] 删除版本
git pull origin –tags 合并远程仓库的tag到本地
git push origin –tags 上传本地tag到远程仓库
8.git commit
git commit -am “str”–>将所有修改,但未进stage(暂存区)的改动加入stage,并记录commit信息,相当于以下两种写法,前提是被改动文件已经是tracked(追踪、跟踪,或许可理解为有提交过)
等同于
git commit -a -m “str”
等同于
git add.
git commit -m “str”
9.git init: 版本库初始化命令,在相应目录下可看到.git隐藏文件夹,就是版本库,在这个根目录及其子目录下都是工作区
git add: 将文件从工作区提交到暂存区stage,此时文件没有真正进入到版本库中,文件目前只处于一个中间状态
git commit: 将处于中间状态的文件(暂存区的文件)提交到版本库中,此时才算是真正完成了一次提交过程
待续!
—————————–2017/7/13—————————————–
10. git grep:内容搜索
git grep “<<<” 可搜索到代码合并时,错误信息所在文件
查找规则:
① -n 显示匹配行及行号
② -r 遍历匹配
③ -s 不显示不存在或无匹配文本的错误信息
……
参考:git基本操作-阮一峰