git 操作

来源:互联网 发布:韩国人直播软件 编辑:程序博客网 时间:2024/05/29 16:38

要掌握git操作,需要了解几个概念,了解了这些概念之后,再根据实践就能基本上掌握其操作了。这几个概念分别是:工作区,暂存区,本地仓库和远程仓库。

这里写图片描述

远程仓库又分为远程的fork仓库和一般的远程仓库。远程fork仓库指的就是你需要贡献的项目在你自己github账号的一个fork仓库。而一般的仓库则是直接对应的某个开源github项目仓库。而往往实际过程中我们需要先从一个开源的仓库fork一份到自己github下面,然后在将这个fork仓库clone到自己本地机器。然后再在本地机器进行修改,验证,add,commit,push操作。等到修改的代码push到fork的仓库后,再在这个fork仓库上发起一次pull request操作。这样就可以将自己修改的代码共享到开源项目上了。

一般能搜到的git操作都是在讲解怎么讲修改代码push到远程仓库的动作。而真正需要贡献代码到其他开园项目的则讲解很少。这里最近第一次搞,也走了些弯路,于是记录下。
1、首先fork开源项目到自己的github账号下。
2、git clone fork仓库到本地PC机
3、修改代码。
4、git add file
5、git commit -s -m “注释”
6、git push origin master //这里的origin master只的就是fork项目的master分支
7、在fork项目中提出pull request

这里面其中涉及到了几个其他经常使用到的操作:
1、commit一个请求后发现错了需要重新commit,或者撤回改次commit.

  • 可以使用:git reset –hard HEAD^ 这句话的意思是:将本地提交的前一次(HEAD^)提交下载到本地工作区和暂存区(–hard表示两个区都下载)。然后再次修改,再提交。这样再次git log就不会看到上一次commit的log了。
    还有一个

  • 也可以直接修改某个文件,然后再次commit,但是在commit的时候需要加上–amend 参数,这样这次commit就和刚刚那次提交合并为一次commit了。这样在git log还是看到一次log.

2、还有个操作就是:自己fork的仓库很久没有和远程的开源仓库同步代码了,这个操作怎么弄:
- 首先在本地机器上git pull upstream master(这里的意思就是下载upstream仓库(就是远程开源仓库,这个需要设置)的mater最新代码到本地。然后merge到本地分这上)。注意这里是要merge到本地分支上,因此如果本地有修改的话,则会merge本地的修改。因此为了保证不让本地的修改也一并push到fork仓库上。则需要在git log中找到前一个commit号,然后reset到这个commit点。然后在push.这样fork仓库拿到的就是最新的upstream 代码。也可以先git fetch upstream master 代码到本地仓库,然后在git reset
到暂存区,然后在git commit到本地仓库,然后在push到fork仓库。

3、常用命令
1、git diff 比较的是工作区和暂存区之间的差异
2、git diff - -cached 比较的事暂存区和仓库之间的差异
3、git diff HEAD 比较的是工作区和仓库区之间的差异

4、更新指定tag的版本代码到本地
git checkout -b newbranch_v12.1.0 v12.1.0 这句话的意思就是从该仓库的tag为v12.1.0(这个名字要一样)的tag获取代码,并放在一个新的分支newbranch_v12.1.0下面。这样这个分支就是本地仓库v12.1.0 的代码。

其他操作我不就不一一罗列,可以参考这篇文章。注意结合图来理解每个命令操作。这样在知道每个命令的意思。
https://marklodato.github.io/visual-git-guide/index-zh-cn.html

git 查看分支信息:
git branch -r #查看远程分支
git branch -a #查看所有分支

checkout 某个分支:
git checkout origin/daily/1.4.1

原创粉丝点击