目录
仓库操作
初始化仓库
使用git init
命令:定义仓库目录
设成仓库目录后目录后面会有个(master)
并且在该目录下会有一个.git
隐藏目录
将远程库下载到本地
相关指令
1)下拉master分支的代码
git clone <远程仓库地址>
2)指定分支的代码
git clone -b <分支名> <远程仓库地址>
Example:
在GitHub建完库后,找到相应的SSH,如下
克隆一个仓库 使用git clone <SSH>
命令克隆
目录下的情况
注意 克隆只是下载到工作空间而非本地库
将本地仓库与远程仓库关联
查看当前的remote的远程仓库名和详细的url地址名和对应的别名.
git remote -v
查看指定主机的详细信息
git remote show <主机名>
重命名远程库
git remote rename <原名> <新名字>
关联Github仓库
git remote add <主机名> <SSH>
取消关联’
git remote remove <主机名>
主机名通常为 origin
将本地仓库推送到远端仓库:
git push <主机名> <分支名>
git push <主机名> <本地分支名>:<远程分支名>
远程库是空的,我们第一次推送master
分支时,加上了-u
参数
从远端仓库获得本地仓库还没有的数据,但不合并到本地仓库
git fetch <远程主机名>
用git log --graph
命令可以看到分支合并图。
强行删除分支
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
Example
小结
查看远程库信息,使用
git remote -v
;本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用
git push origin <branchName>
,如果推送失败,先用git pull
抓取远程的新提交;在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
;从远程抓取分支,使用
git pull
,如果有冲突,要先处理冲突。
多人协作 1
注意事项
master
分支是主分支,因此要时刻与远程同步;dev
分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;- bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
- feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
工作模式
- 首先,可以试图用
git push origin <branch-name>
推送自己的修改; - 如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; - 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用
git push origin <branch-name>
推送就能成功!
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。