git使用笔记#源于廖雪峰

原网址:Git教程 - 廖雪峰的官方网站

感谢廖师傅的开源

总指令合集:

 

 

1.安装git

windows:下载地址为 git-scm.com或者gitforwindows.org,或者阿里镜像(感谢星悸迷航同学)

2.创建版本库

安装git后打开git bash,用cd命令切换到合适的地方,新建一个文件夹

mkdir MyGit

cd MyGit

然后将这个文件夹变成版本库

git init

接下来就可以在MyGit中开始敲代码了

3.git add

git add test.txt

git add指令将会把工作区的内容添加到暂存区,在git中有工作区、暂存区、版本库的概念

4.git commit -m “注释”

git commit -m “本次修改了脑袋容易进水的bug”

git commit -m "注释"命令将会把暂存区的内容提交到版本库中,使用了这个命令就正式的提交了一次代码

5.git status指令

git status

 git status命令将会显示出当前仓库的状态,比如什么文件被修改了还未提交

6.git diff 文件名

git diff test.txt

git diff指令会将文件的改动显示出来

7.git log

git log

git log --pretty=online

git log指令会显示出历史的提交记录,而加上参数--pretty=online会简化输出的信息

8.git reset

git reset --hard HARD^                     //回到上个版本

HARD^表示回到上个版本   HARD^^表示回到上上个版本

也可写成HARD~100,表示回到100个版本前的那个版本

git reset命令用来回溯版本,使用此命令能回到之前的版本,回去之后再使用git log就能发现确实回退了一个版本。

想要回到最新的版本,也可以用git reset,只不过需要找到那个版本的commit id

git reset --hard 192f874624af38285c0a6e8c26b3954f2ea54011

或者git reset --hard 192f也可以

如果找不到commit id了怎么办,用git reflog命令找到commit id

9.git reflog

git reflog

git reflog 命令可以把之前自己使用过的命令显示出来,这些命令都带有commit id

10.工作区和版本库

工作区就是我们实际在撰写代码的区域,而版本库是git管理的仓库,这个仓库存放大家提交的代码,其中master 是大家的主线,工作区是自己的主线,git add将自己打完的副本添加到stage暂存区里面,确定要提交了再把暂存区里面的副本交给master,这就完成了一次正式的提交代码。

11.git diff HEAD -- 文件名

gir diff HEAD -- readme.txt

 git diff HEAD -- 文件名  命令可以显示出自己工作区和版本库最新版本的区别

12.git checkout -- 文件名

git checkout -- readme.txt

 git checkout -- 文件名 命令可以测回最近一次修改

如果修改文件但未add,则文件会撤销最近所作的修改

如果修改文件已经add,然后再修改文件的话,则文件会撤回到已经add但未修改的地方

一旦commit,则无法再进行撤回

13.git rm 文件名

git rm 文件名

 删除文件,一般使用rm命令将文件删除。

我们删掉某个文件以后,使用git status,git会告诉我们与版本库相比,工作区少了一个文件,如果我们确实要删掉这个文件,那就使用git rm

git rm test.txt

 然后再commit,这样这个文件就在版本库中彻底删除了。

如果我们不想删掉这个文件,只是误操作把工作区的文件删了,也没事,只要把版本库的文件拷回来就行

git checkout -- test.txt

这样就能把版本库中那个文件最新的版本拷贝回来,不过这会丢失删掉文件的进度

14.创建远程仓库

第1步:创建SSH Key

ssh-keygen -t rsa -C "youremail@exexample.com"

然后在用户主目录里找到.ssh目录,id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以给别人

第2步:登入GitHub,打开“Account settings”的“SSH Keys”

然后点“Add SSH Key”,填上任意Title,在Key文本框里面粘贴id_rsa.pub文件的内容, 再点“Add Key”就能添加Key了。Key 的作用是让GitHub确认提交代码的是你。

第3步:在GitHub创建一个仓库并将本地库与其关联

在GitHub页面右上角Create a new repo按钮,创建一个新仓库

回到Git bash,输入命令:

git remote add origin git@github.com:自己GitHub账号的名称/刚才起的仓库名称.git

 将本地库的所有内容推送到远程库上

git push -u origin master

推送成功后即可在GitHub的仓库上看到更新内容

15.git push origin master

git push origin master

git push origin master命令用来将本地库推送到远程库上,这样就可以真正的使用GitHub来管理版本了

推送master可以将该分支上的所有本地提交到远程库,当我们不需要提交所有本地,只需要提交某些分支时,也可以指定推送某个分支:

git push origin 分支名称

16.git remote -v

git remote -v

git remote -v命令用来查看远程库信息

git remote 命令则简略显示远程库信息

17.git remote rm origin

git remote rm origin

git remote rm origin命令用来解除本地和远程的绑定关系,解除后就无法再推送或克隆远程库了

18.git clone

git clone git@github.com:自己GitHub账号的名称/远程库的名称.git

 git clone命令用来克隆远程库到本地库

19.分支管理

在日常开发中,master线用来发布新版本或稳定版本,很少改动,一般开发是用dev线,每个员工从dev线上取出最新版本然后自己在开一个分支进行自己的开发,开发完成后再提交到dev线上,图中可以看到迈克michoel从dev上克隆了版本并进行开发,而鲍勃bob同时也可以从dev上获取版本并开发,这样就不会互相影响了并且也能很好的控制版本。

20.git checkout -b 分支名称

git checkout -b dev

-b的参数表示创建并切换,相当于以下两条命令

git branch dev

git checkout dev

 git checkout -b 分支名称 命令用来创建新分支并切换到这个分支上

想要再切回到master线,就使用git checkout master

21.git branch

git branch

 git branch命令用来查看当前分支

22. git branch -d 分支名称

git branch -d dev

用来删除指定的分支,一般是将dev分支合并到master后,如果要将分支删掉就可以用此命令

23.git merge 分支名称

git merge dev

 git merge命令用于合并指定分支到当前分支,通常先切换到master线,再使用此命令将dev分支与master主线合并

24.git switch 分支名称

git switch dev

 git switch 分支名称也可以用来切换分支,较新的版本支持此指令

创建并切换到新的dev分支,可以用:

git switch -c dev

 25.解决合并冲突

 Git无法自动合并分支时,需要我们手动解决冲突,然后再提交,才能合并完成。

使用 git merge 分支名称 后,如果产生冲突,我们先 git status 查看冲突内容,然后查看并修改相关文件,再次提交merge即可。用带参数的 git log --graph --pretty=oneline --abbrev-commit 也能查看分支的合并情况。

解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

26.git stash

git stash

git stash命令可以创建临时工作区,当突然有bug出现,需要及时解决时,我们不想丢弃当前的任务进度,但是不得不去解决bug,这时就可以使用此指令创建一个临时工作区,我们在这个临时工作区中把bug解决了就可以再回到我们原来的任务上,类似单片机中的中断处理函数。

切换到新的临时工作区后,比如说是master出现了bug,那么需要创建一个bug分支继承master的bug,然后在这个bug分支上修改bug,修完后合并到master中,再删除这个bug分支。

临时工作区的任务完成后,就可以返回原来的工作区继续刚才没做完的任务:

git stash list     //查看工作现场列表

git stash apply  //恢复到原始工作区,但stash内容并不删除,需要再使用 git stash drop删除

git stash pop   //恢复的同时也把stash内容也删除了

 可以多次使用git stash 创建很多个临时工作区

git stash apply stash@{0}  //恢复到指定的工作区,其中的stash@{0}参数是指定的工作区

27.git cherry -pick <commit id>

git cherry -pick 1d4b803

 git cherry -pick <commit id>命令可以复制一个特定的commit提交到当前分支

比如当我们通过git stash修复了master的bug后,发现dev也有同意的bug,就可以switch到dev分支,再使用此指令将dev分支的bug修复,避免了重复劳动。

28.git branch -D 分支名称

git branch -D feature

 如果在开发过程中突然冒出来一个新需求,最好新建一个分支,以防甲方后悔,如果要丢弃一个没有被合并过的分支,可以通过git branch -D 分支名称 强行删除

29.多人协作工作的模式

        (1)首先,使用git push origin 分支名称推送自己的修改

        (2)如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并

        (3)如果合并有冲突,则解决冲突,并在本地提交

        (4)如果没有冲突或解决掉冲突后,再用git push origin 分支名称 推送就能成功

如果git pull 提示 on trackong information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to 分支名称 origin/分支名称

30.git rebase

git rebase

变基,将分叉的提交历史整理成一条支线,看上去更直观。缺点是本地的分支提交已经被修改过了。变基后再通过push把本地分支推送到远程,看起来就直观了。

31.标签管理

 标签是用来命名分支的,将分支命名以便查看版本,比如给future分支打上v1.23的标签,方便查看罢了。

要给谁打标签就先switch到上面,然后敲命令:git tag 标签名

git tag v1.23

这样就把该分支命名成了版本名

 也可以创建带有说明的标签,用-a指定标签名,-m指定说明文字

git tag -a v2.34 -m "这是V2.34的详细说明"

使用 git tag 查看所有的标签:

git tag

也可以指定给某个commit打标签:git tag v0.9 提交id

git tag v0.9 f52c633

注意:标签不是按照时间顺序列出,而是按照字母排序的,使用git tag 标签名称 查看标签信息,使用 git show 标签名称 查看文字说明

git tag v0.9  //查看标签信息

git show v0.9  //查看文字说明

 删除标签用指令:git tag -d 标签名称   在本地能轻松删除标签

git tag -d v0.1

通常加上了标签后会通过git push origin v0.1或git push origin --tags将标签推送至远程库,当在本地删除标签后也要推送到远程库,使用命令git push origin : refs/tags/标签名称 来删除远程库的标签。

git push origin : refs/tags/v0.1

32.图形化git

Source Tree,是一个git图形化界面工具,以更加直观的方式进行git操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Git教程廖雪峰PDF》是一本非常受欢迎的学习Git版本控制工具的教程。这本教程由知名的计算机程序员廖雪峰所编写,以简洁明了的语言和实际操作示例,向读者介绍了Git的基本概念和使用方法。 这本教程从Git的起源和基础开始介绍,以帮助读者了解为什么Git成为现代软件开发必备的工具。然后,教程详细介绍了Git的安装和配置,包括如何创建和克隆仓库,添加、提交和查看文件的历史记录等等。同时,教程还介绍了如何使用分支、合并、解决冲突等高级功能,以及如何与远程仓库进行交互和协作。 这本教程采用了一种循序渐进的方式,通过一步步的实例演示和练习,帮助读者逐渐掌握Git的基本操作和常用命令。并且,教程还涉及了一些高级主题,如打标签、忽略文件、子模块等,以满足读者的不同需求。 廖雪峰作为一位经验丰富的程序员,他在教程中还分享了一些他个人在使用Git过程中的一些心得和建议,这对于读者来说是非常有价值的。总体来说,《Git教程廖雪峰PDF》是一本浅显易懂、实用性强的Git入门教程,适合初学者和有一定基础的开发者阅读和学习。无论是作为参考资料还是学习教程,这本书都能够帮助读者快速掌握Git的基本使用技巧,提高版本控制和团队协作能力。 ### 回答2: 《Git教程廖雪峰PDF》是一本由知名程序员廖雪峰编写的关于Git版本控制工具的教程。这本教程以简洁明了的方式,详细介绍了Git的原理、基本操作和常见使用场景。 首先,教程从Git的基本概念入手,向读者介绍了Git的核心理念:分布式版本控制,并与集中式版本控制工具进行了对比。接着,教程详细介绍了如何安装Git,并通过简单的命令行操作演示了基本的Git使用方法,如创建仓库、添加文件、提交变更等。 除了基本操作,教程还介绍了Git工作区、暂存区和版本库的概念,以及常用的分支管理策略。同时,教程还重点讲解了远程仓库的使用,包括如何与Github等网站协同工作、如何进行分支合并和冲突解决等。 此外,教程还提供了一些高级应用技巧,如如何使用Git进行代码回滚、如何管理大型项目等。同时,教程中穿插了一些案例和示例,帮助读者更好地理解和应用Git。 总的来说,《Git教程廖雪峰PDF》是一本很好的入门教程。通过该教程的学习,读者可以了解Git的基本概念和操作方法,同时也能够掌握一些高级应用技巧。该教程以简单易懂的语言和清晰明了的实例,使得读者可以较快地上手Git,并在实际项目中应用所学知识。无论是初学者还是有一定经验的开发者,都能够从《Git教程廖雪峰PDF》中获得实用的Git技巧和经验。 ### 回答3: 《Git教程廖雪峰pdf》是一本详细介绍Git版本控制系统的教程,由知名程序员、技术作者廖雪峰所著。教程总共分为五个部分,包括了Git的基本概念、安装与配置、基础操作、团队协作和Git衍生工具。 在这本教程中,廖雪峰首先介绍了Git的基本概念,包括仓库、提交、分支、合并等。通过这些概念的解释,读者可以对Git的工作原理有一个初步的了解。 然后,廖雪峰详细介绍了Git的安装与配置,包括了Windows、Mac和Linux系统的安装步骤,以及Git的基本配置和常用命令。这部分内容对于初学者来说非常实用,可以帮助他们快速入门Git。 接着,廖雪峰介绍了Git的基础操作,包括了创建仓库、提交修改、查看修改记录等。通过这些操作的演示,读者可以掌握Git的基本使用方法。 在团队协作部分,廖雪峰教授了使用远程仓库进行团队协作的方法,例如克隆远程仓库、推送修改、拉取更新等。这部分内容对于多人协作或开源项目的参与者来说尤为重要,可以帮助他们高效地进行代码管理与版本控制。 最后,廖雪峰介绍了一些基于Git的衍生工具,如GitHub、GitLab和Bitbucket等。这些工具提供了更多的协作和管理功能,能够帮助开发者更好地利用Git进行项目管理和版本控制。 总的来说,《Git教程廖雪峰pdf》是一本非常实用的Git入门教程,对于初学者或有一定经验的开发者来说都非常有帮助。通过学习这本教程,读者可以快速掌握Git的基本操作和团队协作的方法,从而更好地管理和控制代码的版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值