GitHub常用操作

    xiaoxiao2021-03-26  30

    Git常用命令

    一般人,如果不是做协同开发,真的只要知道这些命令就好了!如果懒癌发作连这些命令也不想看,直接跳到最后!!立马上手!!

    获取仓库

    可以用

    git init

    初始化一个仓库,这个一般在什么时候用呢?一般就是你本地目录已经准备就绪了,然后想直接在github上新建一个“空”仓库(连README.d也不要)把东西全丢进去的时候用这个。这个命令一般和remote命令配合使用,效果更佳。(下面会介绍别急哦)

    git remote add

    我们一般常用的都是克隆现有的仓库,这里还是用刚才创建的helloworld仓库(这里我用https地址,但是推荐大家使用ssh,ssh使用方法后面也会提,大家少安毋躁

    git clone https://github.com/hk029/hello-world.git

    url后面可以用一个新的路径名https://github.com/username/reponame.git,让它保存到特定的目录下,默认就是当前路径下创建一个和仓库名一样的目录。

    注意:这个命令是克隆了一个仓库而不是简单的拷贝了文件下来,还保存了有关仓库的信息,基本就是克隆出了一个小的本地仓库。(有个.git目录)

    然后可以cd进去看看

    这里有个比较有意思的地方,你会发现目录名后一个[master]这个表示目前这是一个master分支。当前目录有个.git目录,它会记录仓库的信息,所以你能看到[master]这个标签。之后你对当前目录的文件做的操作,都会被记录。

    如果你是用的git bash,也能看到后面有个小括号写的master

    状态与暂存

    检查目前仓库的状态是挺重要的一个环节,以免你提交代码的时候提交的不是最新代码。 一般来说,你目前目录下的文件就两种状态

    跟踪未跟踪

    我们可以先输入命令看看当前仓库的状态

    git status

    可以发现目前目录下很干净,一切都和当初克隆下来一样,所以状态显示也是很干净。

    我们新键一个文件,或者从别的地方移动一个文件到当前目录下,看看有什么变化。

    我们可以看见,‘[master]’之后多了几个东西。

    +1 表示目前有1个新文件 ~0 表示0个修改的文件 -0 表示0个删除的文件 ! 表示未保存

    我们再输入status命令看看

    发现目前有个未跟踪的文件了。

    我们把它暂存到暂存区

    git add NewFile

    这个命令会把这个文件放到暂存区(还是在本地)到时候提交的时候就会把暂存区的东西提交到网上。

    这个时候,我们发现红色的字变成了绿色,感叹号也没有了,说明目前修改都已经保存了。

    再输入status命令看看

    这个时候已经是跟踪状态了。

    如果我们这时候修改NewFile会发生什么呢?

    可以发现,又变红了,这时候出先了~1,说明有一个修改文件。使用status命令看看

    果然,出现了一个NewFile在未跟踪里面。这不是很奇怪吗,一个文件既是跟踪又是未跟踪?其实这很好理解,你可以理解为暂存区还有一个NewFile拷贝,就是原来那个我们add的“空”的NewFile。修改的这个不在暂存区,如果这时候我们把所有修改提交,那么提交的是“空”的NewFile。

    所以当我们提交前,一定要git status看是不是还有红字?是不是还有什么修改没有更新到暂存区!

    最后,还说下,其实git status有个简化输出的形式。

    git status -s

    这里我为了让所有状态都出现,删除了README.md,可以发现这个简化版输出其实更直观。

    我们把所有的修改更新到暂存区吧:

    git add NewFile git rm README.md

    现在所有的更新都更新到暂存区了,可以提交了!

    提交到本地仓库

    这里的commit只是保存到了本地。如果你只需要一个本地仓库,那么现在也就够了。

    git commit -m "my first commit"

    注意:一定要带-m加上说明

    推送到远程仓库

    因为你是直接从远程仓库拷贝的,所以你输入

    git remote

    会发现已经有个orignal了 这个时候你直接git push就行了

    git push

    用SSH连接并推送到远程仓库

    如果大家是在自己的电脑上,墙裂建立大家使用这种模式!!

    下面说下ssh的模式怎么用,首先你要创建一个私钥,就是在自己电脑里的钥匙。

    ssh-keygen -t rsa -C "your email addr"

    第一个是问你改不改目录,回车就好。然后输入密码,确认(这个密码是生成这个密钥的密码,也可以为空(为空有多方便以后你就知道了),这样你下次push就不用输入密码了)。

    然后你就可以去那个目录下找id_rsa.pub文件,打开(随便用什么打开),把里面的东西复制。

    然后去网站上把自己私钥输入进去,头像——settings

    根据图片点New SSH key

    然后输入一个随便什么title自己知道就好,和你刚才复制的东西在key里

    这时候,就算在github上注册了你的私钥,然后在输入

    ssh -T git@github.com

    看看是不是能ssh连上github

    好了一切准备就绪。 我们先把远程仓库加上:

    选择ssh,然后复制后面的地址。

    (因为之前有一个original的,我们这里方便测试先删了它)

    git remote rm origin

    输入

    git remote

    发现没东西了,可以添加新的远程仓库了。(如果你是init创建的仓库,就要用下面的命令添加远程仓库啦!)

    git remote add origin git@github.com:hk029/hello-world.git

    然后输入

    git push -u origin master

    master是你的分支,origin是你的远程仓库

    第一次git push -u origin master后,就可以用直接用git push指令了


    One more things

    现在,走完整个流程,你应该大概对git有一个认识了,熟练的掌握git命令能成倍提升你的工作效率(特别是如果你经常要在多台电脑上工作,同步数据)。

    这里最后说一下,如果你不想记忆那么多命令(至少把这上面的那个ssh配置看一下),那么请至少记住以下5条: 首先是

    git clone ……

    不管什么情况,你都可以先用git clone 把仓库弄下来,然后再把文件复制进去。然后!就是下面的我称为无脑四重奏的命令。

    如果你有更新了该怎么办??记住下面的四条命令: git pull git add * /rm git commit -m "add" git push

    以后你在不同地方同步自己的更新,无脑敲4条命令就好了。(前提是你本地有仓库了呀!)

    你可以把这4条命令写在.bat文件里(就是新建一个文件,把4条命令输进去,后缀改成.bat,linux就.sh)

    这里我放在d盘

    然后每次只用输入1条命令就好了!

    d:/gitpush.bat

    遇到问题怎么办

    对于小白来说,如果遇到了问题怎么办??这里有个无敌小窍门(重启啊!):

    如果你实在不知道发生了什么,你又确定你自己的本地目录是最新的。你可以把本地的.git删除,然后新建一个仓库,git remote add ……然后使用上面的无闹四重奏,重新push上去。

    如果你确定网上的是最新的,你本地被你毁的面目全非了,也不要怕,把这个本地目录整个删除,重新git clone就好了。

    转载请注明原文地址: https://ju.6miu.com/read-659747.html

    最新回复(0)