网上有许多讲解关于git操作的文章,但是很多都是单独讲解某个命令的使用的,没有整体流程。所以我这里根据使用场景进行整理,有一个完整的操作流程,需要的时候直接进行查找。
以下所有操作都是在项目本地根目录下进行操作,除了git clone 操作,因为此时本地还没有项目。
如何新建项目,并向github提交代码
1、在github网站建立一个新的repository,过程很简单就不说了。当然也可以使用命令行先在本地进行创建,然后在上传到远程服务器并进行关联,不过这种方式更简单。
2、 git clone <git-url> //将项目下载到本地,自动就进行关联了
3、git add .
4、git commit -m 'info' //提交,并可以添加提交说明
5、git push origin <分支名> //push到服务器,刷新项目主页就可以看到了
关于分支
新建分支
1、git branch <分支名> //在本地新建分支
2、git push origin <分支名> //将分支提交到远程服务器
新建分之后,新的分支里的初始内容就是当前master中的内容。
进入分支/获取分支代码
git checkout <分支名>
当进入某一分支后,也就是执行上述操作,本地代码就会切换成相应的分支的代码,如果你开着Studio或者其它IDE,你会发现IDE中的代码也改变了,第一次操作的时候感觉好神奇、好强大。
也可以打开github网页,打开该分支下的网页,选择“Download ZIp”就会下载相应的代码,而使用git clone下载的是master中的代码。
删除分支
1、git branch -d <分支名> //删除本地分支
2、git push origin --delete <分支名> //删除远程分支
关于标签
标签可以用来作版本控制。
一开始我以为标签有点像分支的下级目录,先建立一个标签,然后将相应的代码push到这个标签下,后来发现理解错了。标签其实是后来打上去的,就是先commit代码,然后新建一个标签,该标签下的内容就是最新commit中的内容。
新建标签
1、先切换到相应分支下
2、git tag <标签名> //在本地新建标签
3、git push origin <标签名> //将新建的标签提交到远程服务器
新建标签后,新的标签里的初始内容就是最新一次commit中的内容。
进入标签/获取某标签代码
1、先切换到相应分支下
2、git checkout <标签名>
同分支一样,当进入某一标签后,也就是执行上述操作,本地代码就会切换成相应的标签下的代码。
同样,也可以打开github网页,打开该标签下的网页,选择“Download ZIp”就会下载相应的代码。
删除标签
1、先切换到相应分支下
2、git tag-d <标签名> //删除本地标签
3、git push origin --delete <标签名> //删除远程标签
如何撤销commit
1、切换到相应分支下
2、git log //查找相应的commit的ID
3、git reset --hard <commit_id> //彻底回退到某个版本
注意,这里的commit_id是你要回退到那个版本,而不是想删除的版本,这里一定要注意。
4、git push origin HEAD --force //提交到远程服务器
错误的删除了commit,如何补救
1、git reflog //查看之前的操作,查找想恢复的commit的id
2、git reset --hard <commit_id> //恢复
3、git push -f origin <分支名> //提交到远程
如何将分支合并到master
1、切换到master分支
2、git merge <要合并的分支名>