Git一台电脑多用户设置方法:
~~~
// 强烈建议使用https,而不使用ssh连接git 远程repo
git clone https://github.com/user1/repo.git
vim repo/.git/config
// 将[remote "origin"]下的url改为https://user1:pswd@github.com/user1/repo.git
//保存退出
git config user.name "user1"
git config user.email "xxx@email.com"
// 不要使用--global,以保持每个repo拥有特定的身份
// 这样就可以在一台电脑上,push多个用户名下的repo代码
~~~
查看git仓库远程地址:
~~~
git remote -v
~~~
git stash用法:
~~~
//查看隐藏栈列表
git stash list
//清空隐藏栈
git stash clear
//隐藏工作区内容,保持和最近一次提交一致,在merge时经常需要这么做
git stash
//弹出隐藏栈顶层内容,用其恢复工作区
git stash pop
~~~
fork一份repo之后,和源repo保持更新的方法:
~~~
//假设有源repo:source,想要fork它的代码:
在github页面上,使用fork功能
//对于fork的repo:mine,将代码clone到本地:
git clone mine.git
//本地做一些适合自己的修改,并提交到mine repo:
git push origin master
source repo有更新,想要将更新运用到mine repo:
git remote add upstream source.git //只需做一次
git fetch upstream //从source repo中拉取所有更新
git merge upstream/master //将更新合并到origin/master上
git add *; git commit //解决完冲突,需要add & commit以标记冲突解决,消除MERGING状态
git push origin master //将更新推送到mine repo上
//以上操作都在 origin/master分支上完成
~~~
添加远程仓库,以实现git指向多仓库:
~~~
git remote add upstream https://xxx.github.com/xxx.git
~~~
创建本地分支local,并使其追踪远程仓库upstream的dev分支:
~~~
git checkout -b local upstream/dev
~~~
分支命令
~~~
git branch -r //查看远程分支列表
git branch -a //查看本地分支和远程分支
git checkout test //切换到本地的test分支
~~~
将当前工作分支内容推送到远程仓库【upstream】的dev分支中:
~~~
git push upstream HEAD:dev
~~~
删除远程仓库【upstream】的dev分支【master分支无法删除】:
~~~
git push upstream :dev
~~~
丢弃掉本地的修改:
~~~
git checkout <file_path>
~~~