Linux培训教程 Git在linux下的使用

 *初始化git仓库,使用gitinit命令

*添加文件到git仓库分两步:

1、使用gitaddfilename;可分多次使用,添加多个文件到暂存区

2、使用gitcommit-m“说明”;完成提交到分支

兄弟连linux培训

教程Git在

linux

下的使用

*查看工作区状态,使用gitstatus命令;如果提示有修改可使用gitdifffilename查看修改内容

*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。

*回退版本:使用gitlog查看提交历史;使用gitlog--pretty=oneline精简显示

使用gitreset--hardcommit_id回退到版本号为commit_id的版本

*回退版本之后如果想再看改回来,可以使用gitreflog查看历史命令,找出想改回的版本号,再使用gitresethardcommit_id返回即可。

*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。

*撤销修改:

1、如果文件还在工作区,即没有add也没有commit,则使用gitcheckout--filename还原到服务器版即可;

2、如果已经add到暂存区,首先使用gitresetHEADfilename从暂存区取回工作区,再按照1进行操作即可;

3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;

4、如果已经push到远程仓库,就麻烦了

*删除使用以下命令:

1、gitrmfilename从工作区删除

2、gitcommit-m”说明“更新分支中文件进行删除

将在工作区的文件删除之后,可以使用gitcheckout--filename从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。

*分支:

1、创建分支

gitcheckout-bbranchname创建并切换到改分区,相当于一下两个命令:

gitbranchbranchname创建分支

gitcheckoutbranchname切换到分区

2、查看当前指向的分支:gitbranch会列出所有分支,当前指向的分支之前多了个*

3、切换分支就是gitcheckoutbranchname

4、合并分支:gitmergebranchname合并branchname到当前分支

5、删除分支:gitbranch-dbranchname删除branchname分支

注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全;这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。

*冲突解决:git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并

使用gitlog--graph可以查看分支合并图。

*保存工作现场gitstash保存之后就可以进行其他工作而不影响上次的修改

恢复工作现场:1、gitstashapply恢复时并不删除stash中内容

2、gitstashpop恢复时会删除stash中的内容

*远程库信息产看使用gitremote(-v)加上-v显示信息更加详细

*分支推送到远程库:即将所有本地的提交推送到远程库

gitpushorigin(远程库名)master(要推送的分支)

*抓取分支:gitpull;gitclone

*协作模式:

1、使用gitpushoriginbranchname推送自己的修改

2、如果推送失败,因为远程分支比本地更新,先使用gitpull合并

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

4、再推送

注意:如果使用gitpull合并时提示”notrackinginformation“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:gitbranch--set-upstreambranchorigin/branchname

*在本地创建与远程对应的分支:gitbranch-bbranchnameorigin/branchname本地与远程分支的名称最好一致

*创建标签

1、打标签gittagname默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

2、显示标签:gitlog-pretty=oneline--abbrev-commit

gittagtag_namecommit_id

3、查看标签:gittag显示所有标签

4、查看标签信息:gitshowtag_name

5、创建带有说明的标签:gittag-atag_name-m”信息“;-a表示标签名,-m指定说明文字

*操作标签:gittag-dtag_name删除标签

推送标签到远程库:gitpushorigintag_name

一次推送所有标签到远程库:gitpushorigin--tag

相关推荐