1.git clone
此命令克隆远程仓库到当前目录。
- 执行此命令后,本地仓库中每个分支都会分为两个,比如master会变成master 和origin/master,其中origin/master表示远程仓库的副本,它只跟踪远程仓库,理解这一点很重要!
2.git fetch
- 这命令会将远程仓库同步到本地仓库的带origin标记的各个分支,但不会改变我们的工作区!
- 比如仓库有master和bugFix分支,这个操作会更新origin/master和origin/bugFix,并不会改动master和bugFix。
3.git merge origin/master
此命令一般紧接着git fetch,将远程的更新合并到本地工作区。
4.git pull
此命令就是上两条命令的缩写,先fetch再merge。
- 我们经常会先commit掉当前写的代码,然后pull下同事push的代码。
不使用merge方式,采用rebase方式:
1git pull --rebase
5.git push
此命令会将本地commit推送到远程仓库,并且会更新origin/分支。
- 有时候远程仓库已经改变了,但是你的本地分支(没有origin/前缀)不会修改。
6.git push origin source:destination
这里重点介绍三个参数origin:远程仓库的名字(一般都命名为origin),source:本地仓库的节点,destination:远程仓库的分支名。
source参数可以不写同时把冒号去掉,如:
1git push origin master
意义是将本地仓库master分支推送到远程仓库origin的分支master,并且同步本地origin/master分支。
source参数可以带~和^等移动符,如:
1git push origin master^:foo
此时将master上一个提交历史推送到origin仓库的foo分支。如果foo分支不存在,将直接创建foo分支。
7.git fetch origin source:destination
同理git fetch也有这种形式的命令,从这里可以看出fetch跟push其实是方向相反的操作,更深一步你可以用fetch代替push,只是大家都习惯使用fetch拉,push推。
- 注意,destination参数如果不加origin/,就表示更新本地分支中的工作区,而不是跟踪远程仓库的
8.跟踪远程分支
git remote add origin <https/ssh>
有时候我们需要将一个项目提交到远程仓库,那么该怎么操作呢?
|
|