美文网首页
[工具使用]Git的一些常用操作

[工具使用]Git的一些常用操作

作者: porridgechen890 | 来源:发表于2017-06-22 10:30 被阅读0次

    查看手册

    如:git help log或者git log --help

    创建仓库的两种方式

    1. 本地初始化

      cd到目标文件夹下,执行git init

      跟远程建立连接git remote add <name> <url>name一般是取origin。

    2. 克隆远程仓库到本地

      git clone <url>

    git clone默认会把远程仓库整个给clone下来,
    但只会在本地默认创建一个master分支,
    如果远程还有其他的分支,此时用git branch -a查看所有分支。
    可以用git checkout -t origin/<branch_name>来拉取某个分支。

    查看仓库状态

    git status

    Untracked files指未受控的文件。

    Changes to be committed指受控文件发生了改变,还没commit。

    添加文件到暂存区

    git add

    git add FileNameadd文件。

    git add FolderName/add文件夹。

    提交

    git commit -m "add readme.txt"

    提交修改分为两步,先把修改的文件add到暂存区,然后commit到仓库。如果有远程仓库的话,还要push到远程仓库。

    查看提交记录

    git log要输入一个q才能退出log的状态。

    git log --pretty=oneline单行显示,简写git log --oneline

    git log -p a.txt查看a.txt的log。

    git log --author=Tom查看提交人Tom的提交记录。

    撤销修改

    git checkout readme.txt

    checkout是指还没有commit的修改想要撤销掉。而如果commit了的修改想要撤销就要用reset了。

    checkout某个文件是让那个文件回到仓库里HEAD的状态。

    如果是用惯了svn的同学可能会想着先把那个文件删掉,再从仓库里拉取最新代码就行。在git里是不适用的哦。

    回退版本

    git reset --hard HEAD^回退到上个版本。

    git reset --hard HEAD~n回退到前n次提交之前。

    git reset --hard commit_id退到/进到 指定commit的sha码。

    推送本地修改到远程仓库

    git push,某些情况下你需要指定远程仓库的名字和分支,如git push origin master

    拉取远程的最新代码

    git pull

    配置账户

    git config --system --list

    git config --global --list

    git config --local --list

    git config --local user.name "xxx"

    git config --local user.email "xxx"

    git clean

    删除未受控的文件:git clean -f

    删除未受控的文件和目录:git clean -fd

    查看将要删除哪些文件:git clean -nf

    查看将要删除哪些文件和目录:git clean -nfd

    公钥管理

    ssh-keygen -t rsa -C "yourEmail@xxx.com"

    然后会让你选择存放路径和输入密码,可以直接按回车。

    然后就会生成两个文件,一个id_rsa,一个id_rsa.pub。

    拷贝id_rsa.pub里面的内容,粘贴到github或者gitee里。

    添加成功后,输入ssh -T git@gitee.com来测试是否可以正常连接。

    rebase配合merge使用

    多人协作的话需要分支,分支上开发一个功能完成后需要合并到主干上,但是主干上不想要多余的提交记录。此时,可以使用变基。过程大概是这个样子。
    git branch dev
    git switch dev
    //modify sth
    git commit -m 'dev 1'
    //modify sth
    git commit -m 'dev 2'
    git rebase -i startpoint endpoint//不写endpoint的话就是HEAD
    //select pick reword fixup and so on
    git switch master
    git merge dev

    相关文章

      网友评论

          本文标题:[工具使用]Git的一些常用操作

          本文链接:https://www.haomeiwen.com/subject/czbtcxtx.html