Git使用教程:简单详细傻瓜式教程

一、

git config --global user.name "xxx";

git config --global user.email "xxx";

git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

二、

pwd 命令是用于显示当前的目录。

通过命令 git init 把这个目录变成git可以管理的仓库,这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

三、

第一步:使用命令 git add readme.txt添加到暂存区里面去。

第二步:用命令 git commit告诉Git,把文件提交到仓库。

可以通过命令git status来查看是否还有文件未提交。

可以使用如下命令:git diff readme.txt 查看修改的部分。

可以使用命令 git log 查看更改日志。如果嫌显示的信息太多的话,我们可以使用命令 git log –pretty=oneline

四、

想把当前的版本回退到上一个版本,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。

我们也可以通过版本号回退,使用命令方法如下:git reset --hard 版本号。如果不知道版本号,方法如下。

要如何知道增加3333内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog 演示如下:

五、

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

命令 git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,与暂存区一致。

注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。

六、先有本地仓库后有远程仓库

先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:

ssh-keygen -t rsa –C “[email protected]

id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。点击 Add Key,你就应该可以看到已经添加的key。

现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。

创建GitHub仓库后,执行 git remote add origin https://github.com/tugenhua0707/testgit.git(自己的,该方法让自己的仓库与远程仓库关联)

然后把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。命令如下:git push -u origin master

我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master

分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从现在起,只要本地作了提交,就可以通过如下命令:

git push origin master(或者其他分支,一般情况是推送主分支,dev分支更改好后与主分支合并然后推送主分支)

七、先有远程仓库后克隆到本地

创建GitHub仓库;使用命令git clone https://github.com/tugenhua0707/testgit.git克隆一个本地库;

八、创建与合并分支

git checkout 命令加上 –b参数表示创建并切换到dev(git checkout -b dev),相当于如下2条命令

git branch dev

git checkout dev

总结创建与合并分支命令如下:

查看分支:git branch  会列出所有的分支,当前分支前面会添加一个星号。

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout –b name  命令加上 –b参数表示创建并切换,相当于如下2条命令:git branch name + git checkout name

合并某分支到当前分支:git merge name

删除分支:git branch –d name

通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,我们可以使用带参数 –no-ff来禁用”Fast forward”模式。命令如下:git merge –no-ff -m “注释” dev

九、如何解决冲突?

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,如上图可以看到99999999是主分支更改的内容,8888888888是fenzhi1上更改的内容。

分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

十、临时分支

当无法提交当前工作区时候新建一个紧急issue,可以将当前工作区隐藏git stash,然后创建紧急issue分支进行更改提交,然后再切换到已经隐藏的分支(git checkout dev),我们可以使用命令git stash list来查看隐藏的工作现场,Git把stash内容存在某个地方了,但是需要恢复一下,可以使用如下2个方法:

1.git stash apply恢复,恢复后,stash内容并不删除,你需要使用命令git stash drop来删除。
2.另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。

十一、多人协作

  1. 要查看远程库的信息 使用 git remote,要查看远程库的详细信息 使用 git remote –v,(远程库的默认名称是origin)

  2. 把该分支推送到远程库对应的远程分支上: 使用命令 git push origin master(或者dev)

  3. 当两个人同时对一个文件进行了修改之后会有冲突,可以先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送。

  4. 抓取远程分支时候如果git pull失败,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接,如下:git branch --set-upstream dev origin/dev,解决后,提交,再push。

原文链接:https://mp.weixin.qq.com/s/caVfg8qCRjSiogD-jitIeA

猜你喜欢

转载自blog.csdn.net/yuqilin520/article/details/83070997
今日推荐