Git fork 上游仓库
GitHub上fork项目后怎么跟上游仓库保持更新。
前言
在GitHub(大型同性交友网站)上我们可以找到大量有趣、有用的Repository,有的时候我们会使用fork工能,但是有时候你想让fork下的仓库跟上游仓库保持更新,那么就需要一些操作。
详细步骤
查看仓库状态
首先cd
到项目目录
git remote -v # 您的fork的当前配置的远程仓库。
如下图所示,即没有设置上游仓库
设置上游仓库
git remote add upstream # https.gitxxx 指定上游仓库
重复1步骤查看仓库状态
结果如下
抓取上游跟新到本地
git fetch upstream # 抓取上游仓库的更新到本地
切换分支
列出分支列表
git branch # 列出当前有多少分支 按q退出编辑模式
切换分支
git checkout master # 切换到 master 主分支
合并上游更新
git merge upstream/master # 合并上游更新
推送合并后的更新
git push origin master # 推送合并后的更新
END
ps
# Git 常用命令集 git clone git://github.com/limbopro/Script.git # 检出仓库 git remote -v # 查看远程仓库 刚刚已经用过了 git remote add [name] [url] # 添加远程仓库 刚刚已经用过了 git remote rm [name] # 删除远程仓库 git remote set-url --push [name] [newUrl] # 修改远程仓库 git pull [remoteName] [localBranchName] # 拉取远程仓库 与fetch 有所区别 git push [remoteName] [localBranchName] # 推送远程仓库 git branch # 查看本地分支 一般默认为 master git branch -r # 查看远程分支 git branch [name] # 创建本地分支 注意新分支创建后不会自动切换为当前分支 git checkout [name] # 切换分支 git checkout -b [name] # 创建新分支并立即切换到新分支 git branch -d [name] # 删除分支 -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项 git merge [name] # 合并分支 将名称为[name]的分支与当前分支合并 git status # 查看当前状态 同步上游仓库更新时会常用到 git commit # 提交 合并更新后,提交到远程仓库会用到 git branch -a # 查看所有的分支 git branch -r # 查看远程所有分支 # 查看、添加、提交、删除、找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # 抛弃工作区修改 git co . # 抛弃工作区修改 git add <file> # 将工作文件修改提交到本地暂存区 git add . # 将所有修改过的工作文件提交暂存区 git rm <file> # 从版本库中删除文件 git rm <file> --cached # 从版本库中删除文件,但不删除文件 git reset <file> # 从暂存区恢复到工作文件 git reset -- . # 从暂存区恢复到工作文件 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 git ci --amend # 修改最后一次提交记录 git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象 git revert HEAD # 恢复最后一次提交的状态 # 查看文件diff git diff <file> # 比较当前文件和暂存区文件差异 git diff git diff <id1> <id2> # 比较两次提交之间的差异