一、基础和命令
远程仓库是指托管在网络上的项目仓库。
1、git branch:可以用来列出分支,创建分支和删除分支.
git branch: 列出本地所有分支,当前分支会被星号标示出.
git branch -v可以看见每一个分支的最后一次提交.
git branch (branchname): 创建一个新的分支
git branch -d (branchname): 删除一个分支.
2、git checkout: 切换到一个分支.
git checkout -b (branchname): 创建并切换到新的分支.
git checkout 替换本地改动。此命令会使用HEAD中的最新内容替换掉你的工作目录中的文件.已添加到暂存区的改动以及新文件都不会受到影响,就是在工作目录中(还未暂存)将修改后的文件切换到修改前的状态。
注:git checkout filename会删除该文件中所有没有暂存和提交的改动,这个操作是不可逆的.
3、git remote:列出、添加和删除远程资源库。如果你clone一个project,Git会自动将原来的url添加进来,别名就叫做:origin.
git remote: 列出远程别名。
git remote -v:可以看见每一个别名对应的实际url。
4、git fetch: 将会取到所有你本地没有的数据,所有取下来的分支可以被叫做remote branches,它们和本地分支一样(可以看diff,log等,也可以merge到其他分支),但是Git不允许你checkout到它们.
5、git merge:把一个分支merge进当前的分支.把远程分支merge到当前分支.
6、git pull:pull == fetch + merge 。git pull会首先执行git fetch,然后执行git merge,把取来的分支的head merge到当前分支.这个merge操作会产生一个新的commit.
二、项目创建者
该图例针对的是:项目是自己创建的,或者对项目有修改权限,否则得fork到自己名下再操作。
三、项目参与者
该图例针对的是:项目的参与者,而不是项目的创建者;若是项目的创建者,则不需fork和pull request。
四、步骤
4.1 克隆
//TODO
4.2 提交
git pull #本地修改后,与远端合并
git status
git add xx #将本地修改添加到跟踪
git commit -m 'xxx' #添加评论xxx
git rm --cached .gitignore #取消对.gitignore的跟踪,不push到远端(.gitignore的目的是取消某些文件的跟踪,如编译出的文件)
git push origin xxx#推到远端xxx分支
五、其它
已经初始化了用户名,然后需要修改为其它用户名:
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"
然后再查看下
git config --list