赞
踩
参考文档:git在线手册
1.下载项目至本地 git clone + url
2.添加项目中的submodule,如果项目已经克隆到了本地,执行下面的步骤:
git submodule init
git submodule update
git submodule update --remote
3.多人协作工程 Merge
git checkout -b my/dev
git add
git commit
git status
查看git rebase
将自己的更新与master的更新结合4.git rebase 具体步骤:
git checkout master
git pull origin master
git checkout {my/dev}
git rebase master
并解决出现的冲突,成功后git log可以查看到最近的一次commit 将自己的分支更新push上去git push origin my/dev
注意:不要直接push到master分支1.git push
1.1 git push 命令用于从将本地的分支版本上传到远程并合并
git push <远程主机名> <本地分支名>:<远程分支名>
• 以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
git push origin master
• 以下命令将本地的 自建 分支推送到 origin 主机的 自建 分支。
git push origin {自建分支名} 如:git push origin lsy/dev
注意:请在自己的分支上进行push,不要随意把自己的更新push到master分支!!
1.2 删除自己的远程分支
git push origin --delete {远程分支名}
1.3 在git rebase
之后如果出现 push失败的问题
解决git rebase操作后推送远端分支不成功的问题
举一个简单的例子说明如下: 最开始分支只有一个master上面有A<–B<–C三个分支,在C提交上开出了一个新的feature分支 并在其上进行了开发,而在feature分支进行开发并commit两次后,master分支也发生了变化,当前git仓库如下图所示:
A<–B<–C<-------F<–G (master)
\
D<–E (feature)
由于进行了rebase操作,现在远端和本地的feature分支的状况是这样的:
A<–B<–C<—F<–G<–D’<–E’ (本地feature分支)
\
D<–E (远端feature分支)
这种情况下是不能进行fast-forwad模式的合并操作的,所以当执行git push origin feature
命令时会报一个错误。
如果feature分支只有你一个人在开发,那么可以直接进行强制推送git push --force origin feature
2.git pull
拉取远程更新到本地 常用于master分支
• git pull origin master
:拉取远程master分支到本地master分支
3.git status
查看目前的状态信息
4.git commit
git commit
常用于远程分支的提交
• git commit -a -m ‘your commit message’
• git commit --amend
更改commit的描述
5.git checkout
常用于创建分支并切换新分支、切换分支
• git checkout -b {分支名}
本地创建一个新分支,并且切换到这一新的分支
• git checkout -b {分支名} {远程分支名}
本地创建新分支并与远程分支创建连接
• git checkout {已存在分支名}
本地切换到已经存在的分支
• 添加别的分支的文件到当前分支
如果 自己改的模块 比 master走的更远,可以直接将 某分支下的改动文件(对应{commid-id}
) checkout 到 自己分支:
git checkout you-commit-id/分支名 file
。 添加{commit-id}下的{file} 到当前所在的分支
例:git checkout 555d1bdef9c0761feb0332204d5b223f26ff714a abcd.py
6.git branch
查看本地分支、远程分支、删除分支
• git branch
查看本地分支列表
• git branch -a
查看远程分支列表
• git branch -d {本地存在的分支名}
删除本地的分支
7.git rebase
• 用于合并自己分支的更新到master 在自己的分支下:git rebase master
• 提交多个commit之后,为了保持graph的整洁,合并多个commit到一个结点 git rebase -i {commit id} commid id 为根节点的commit id
注意是要合并结点的前一结点
git 几个commit点合并成一个commit点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。