git学习

3 篇文章 0 订阅

这几天在做swoole,win开发,弄的虚拟机,很麻烦。所以想在虚拟机上装个git,我在win开发,在linux跑。

1.在linux建git

    1.yum install git

    2.随便找个目录,新建一个文件夹当仓库。例如/root/sample,进入sample ,git init --bare sample.git

//这里 git init 是初始化空仓库的意思,而参数 --bare 是代表创建裸仓库,这个参数一定记得带上

 创建一个git用户用来运行git服务

adduser git    #这行代码会在/home/下生成一个git文件夹,就是下一步中放秘钥的地方

2.在win下载git并克隆

     1.  依旧是随便找个文件夹。进入这个文件夹(例如test),执行

        git clone git@192.168.88.128:/root/sample/sample.git thisgit

        这句的意思是在文件夹test中创建了一个thisgit的版本库

     2.需要ssh秘钥

            1.cd ~/.ssh 

                ll -a

 

我们需要寻找一对以 id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们。在 Linux/Mac 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可。

                用ftp把这东西传到服务器,就是我们的虚拟机了

      3.现在再到了服务器

        把刚才那东西,复制到/home/git/.ssh/authorized_keys

        yy:复制本行      2yy或y2y:从当前行开始,复制两行        dd:剪切本行        d2d:从当前行开始,剪切2行   

        p:粘贴     yG:复制到文件尾    yw:复制1个word    y2w:复制2个word    dG:剪切至文件尾     dw:剪切1个word    

        :undo或:u撤销

        到了那个sample.git/hooks

        cp post-receive.sample post-receive

        vim post-receive

 

git --work-tree=/home/www checkout -f

           保存退出

            执行     chown git:git post-receive

                        chmod +x post-receive

            chown是分配用户组,chmod是分配权限

 

好了,现在用git提交代码就直接到了服务器了

3.关于分支

    1.    git checkout -b dev    创建并跳转dev分支(dev是分支名称)

           git checkout fimeName    清空本次修改         

           git checkout commit_id fileName    把某个文件还原到某个版本(只能用这个,reset是全部还原)

    2.    git branch --set-upstream-to=origin/dev dev    指定本地dev链接到远程dev

           2.1 git checkout -b dev origin/dev    这个是上面两行的结合

    3.    git log --graph --pretty=oneline --abbrev-commit     查看历史

           git log --oneline --graph --decorate --all    这个也行

           git log --oneline --graph -10    这个也行,显示10行

    4.    git merge --no-ff -m 'hello world' dev    这样合并分支

    5.    git branch -D dev    强制删除dev分支,小写d是普通删除

    6.    git stash    可以把当前工作现场‘暂存’,然后开发另一个新的功能

           开发完了之后

           git stash list    查看工作现场

           git stash pop    回到dev并且删掉stash内容

           git stash apply  && git stash drop    (这个虽然也是回到dev并且删掉stash内容,但是毕竟麻烦)

           如果是多次stash,首先用 git stash list查看,然后用git stash apply stash@{0}恢复指定stash

    7.    git fetch    更新远程库中的commit-id到本地

    8.    git remote add hello git@110.110.110.110:/home/git/git.git    添加一个远程库,可以用git remote [-v]来查看远程库

    9.    git log -p -n    如果n=1查看最近1次的修改内容

           git show commit_id    查看某一次修改内容

           git show commit_id -- fileName    查看某个文件的修改内容fileName要用完整路径,当前cmd窗口路径后面的部分(这种查              看某一个文件的方式,其他命令也可的,加到最后边就行,上下文我就不写了)

   10.    git reset --hard commit_id    版本回退

           git reset --hard HEAD^    回到最新       

   11.   git log [ ] -- *hello.js    查看hello.js的提交记录,记得在文件前面加*,中括号里边可以填其他命令,比如-10,--oneline,

            --abbrev-commit:仅显示SHA-1的前几个字符,而非所有的40个字符

   12.   git fetch --all 下载远程代码

           git reset --hard origin/master    // master是主线,用哪条写哪条  这两条命令是用远程覆盖本地

           git clean -f          

           这有一篇写的很好 https://www.cnblogs.com/chenlogin/p/6592228.html  

   13.  git cherry -v  查找已经commit但没有push的记录  

   14.  git log master ^origin/master 查看 本地master和远程master的差异

   15.  git restore --staged <file>  // 功能和git add 相反

   16.  git commit --amend -m 'abc' 或 git commit --amend  // 执行git commit -m '666' 发现注释666不对,想修改备注

   17.  给分支加备注 来自https://www.cnblogs.com/wangziye/p/11904511.html

           git config branch.分支名称.description '备注'      // 添加备注,这时候使用git branch 还看不到
           npm i -g git-br      // 通过git br查看分支,这是可以看到备注了

git config branch.{branch_name}.description 《这里添加注释》

4. git每次下载上传都要输入账号密码

git config --global credential.helper store

5. 每次敲那么一堆字母很麻烦,加点别名

win   cd /etc && vi bash.bashrc 

最下边加 

# 加点别名

alas gs = 'git status'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值