zoukankan      html  css  js  c++  java
  • git常用笔记

    常用命令

    常用

    放弃本地修改

    版本控制

    配置提交作者

    删除文件夹下所有的.git文件

    操作分支

    克隆项目

    本地仓库与远程仓库建立关联

    push

    git的忽略文件

    版本操作

    .git文件夹内容过大,怎么清除

    遇到的问题

     

     

    常用命令

    常用

    git status #查看状态

     

    git status -s #输出状态的简要信息

     

    git stash #暂存本地修改

     

    git pull  #更新版本

     

    git stash pop #取出暂存的修改

     

    git add (加路径)# 你需要提交的文件路径  git add .表示提交所有

     

    git rm --cached a.txt #取消add的某个文件

     

    git commit -m "提交说明" # 提交到缓存区

     

    git push #  推送到远程服务器

     

    git checkout # 切换分支

     

    git log # 查看提交

     

    git show # 显示最近一次的提交信息,可以查看到哪些被改动了。 git show 9da581 # 查看某次的提交信息

     

    git diff 9da581ec232c # 查看提交差异

     

    # 将本地分支和远程分支管理起来,这样就不用每次pull或push都origin git branch --set-upstream-to=origin/master master

     

     

    放弃本地修改

    # 未使用git add缓存的代码,使用:

    git checkout --filepath # 放弃某个文件 git checkout . #放弃所有本地修改的。没有git add的,都返回到原来的状态

    # 已使用git add缓存了代码,使用:

    git reset HEAD fildpath # 放弃指定文件的缓存 git reset HEAD . # 放弃所有缓存

    #已使用git commit提交了代码,使用:

    git reset --hard commitid(前6位)  #返回到某个版本,不保留修改。 git reset --soft commitid(前6位)  #返回到某个版本。保留修改

     

     

    版本控制

    master分支作为生产环境分支,

     

     

     

     

     

     

     

     

    配置提交作者

    // 仅仅针对当前项目 git config user.name "liumaomao" git config user.email "maomao@.163.com"

     

    // 配置全局,可作用于所有项目 git config --global user.name "liumaomao" git config --global user.email "maomao@.163.com" // 生成公钥·linux,不要加sudo    $ cd ~/.ssh    $ ssh-keygen [一路回车即可]

     

     

    删除文件夹下所有的.git文件

    find . -name ".git" | xargs rm -Rf

     

     

     

    操作分支

    git要和远程库的分支相同才能使得pull下来的项目和远程库里的项目名一致

    git branch  # 查看本地分支 git branch -a # 查看远端分支 git remote show origin # 查看远端分支详细

     

    git checkout new # 切换分支 git pull origin/new # 拉取远端分支代码 # 如果本地代码没有做过任何更改,切换分支下载分支代码出现冲突时: git reset –-hard origin/new  # 下载新分支 git reset -–hard origin/new # 把HEAD指向最新下载的分支

     

    # 当然你也可以自己创建一个分支然后从远程同名分支下pull代码 git checkout -b new #创建并切换到dev分支 git pull new

     

    # 关联本地新建的分支与远程分支 git branch --set-upstream-to=origin/remote_branch  your_branch  

     

    git pull origin dev #获取远程库里dev分支的项目(如果进行了关联,可直接使用git pull)

     

    新建好的代码库有且仅有一个主分支(master),它是自动建立的。可以新建分支用于开发:

    git branch develop master

    新建一个叫develop的分支,基于master分支

    切换到这个分支:

    git checkout develop

    现在可以在这个develop分支上做一些改动,并且提交。

    注意:切换分支的时候可以发现,在Windows中的repository文件夹中的文件内容也会实时相应改变,变成当前分支的内容。

     

    # 删除分支 git branch -d name # 删除本地分支 git push origin --delete name # 删除远程分支

     

     

     

    克隆项目

    创建一个空的文件夹,然后git bash here

    git clone https://gitee.com/shdanyan/environmental_protection.git

    新建gitEp文件夹,并clone到该文件夹下

    git clone https://gitee.com/shdanyan/environmental_protection.git gitEp

    克隆指定分支的项目

    git clone -b dev https://gitee.com/shdanyan/environmental_protection.git

     

     

    本地仓库与远程仓库建立关联

    git remote add origin https://github.com/XXX(username)/YYYY(projectname).git

    加上一个remote的地址,名叫origin,地址是github上的地址(Create a new repo就会有)因为Git是分布式的,所以可以有多个remote.

     

    git add . git commit -m '***' git push -u origin master

    将本地内容push到github上的那个地址上去。参数-u,用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。

     

    此时如果origin的master分支上有一些本地没有pull的代码,push会失败.

    解决的办法是, 首先设定本地master的上游分支:

    git branch --set-upstream-to=origin/master

    然后pull:

    git pull --rebase

    最后再push:

    git push

     

     

     

    push

    1:现在如果想直接Push这个develop分支上的内容到github

    git push -u origin

          如果是新建分支第一次push,会提示:

    (常遇问题)

    fatal: The current branch develop has no upstream branch.To push the current branch and set the remote as upstream, use

    git push --set-upstream origin develop

    输入这行命令,然后输入用户名和密码,就push成功了。

      以后的push就只需要输入git push origin

     

    2:比如新建了一个叫dev的分支,而github网站上还没有,可以直接:

     git push -u origin dev

    这样一个新分支就创建好了。

     

    3:提交到github的分支有多个,提交时可以用这样的格式:

    git push -u origin local:remote

     比如:git push -u origin master:master

     表明将本地的master分支(冒号前)push到github的master分支(冒号后)。

     如果左边不写为空,将会删除远程的右边分支。

     

     

    git的忽略文件

    .gitignore文件在windows下无法直接创建,但是可以使用命令行或者sublim的方式创建

    echo '0' >> .gitignore

     

    .gitignore文件中忽略规则:

    .idea  # 表示根目录及其所有子目录下的.idea文件夹都会被忽略 /.idea  # 表示仅仅忽略根目录下的.idea文件夹 /LCFZJC/db.sqlite3 /LCFZJC/venv /LCFZJC/sdd/migrations /LCFZJC/sdd/__pycache__ LCFZJC/LCFZJC/__pycache__

     

     

    版本操作

    查看提交日志

    git log

    版本回退

    git reset -hard 55015c  #提交hash码的前六位

     

     

    .git文件夹内容过大,怎么清除

    https://www.cnblogs.com/bay1/p/10982254.html

     

    1、查看.git文件夹中大文件

     

     

    遇到的问题

    1、git push:fatal the current branch master has no upstream branch

    解决:git push -u origin master

    解释:-u为update origin为远程仓库名,master为要提交到的远程分支

     

    2、Updates were rejected because the tip of your current branch is behind

    有如下几种解决方法:

    1.使用强制push的方法:

    $ git push -u origin master -f

    这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

    2.push前先将远程repository修改pull下来

    $ git pull origin master $ git push -u origin master

    3.若不想merge远程和本地修改,可以先创建新的分支:

    $ git branch [name]

    然后push

    $ git push -u origin [name]

     

    3、schannel: next InitializeSecurityContext failed

    出错的原因可能是使用了代理导致了git的连接模式改变了,解决方式如下:

    # 执行下面命令把URL模式从HTTPS改成SSH即可 git config --system http.sslbackend openssl

     

    我按照上面方式改了,但是当使用git clone时又报了另外一个错误:

    3.1、error setting certificate verify locations:CAfile : D:/Git/xxx/ca-bundle.crt

    出错的原因是我们的证书位置出现了问题,我们直接在git安装目录下搜索ca-bundle.crt的位置,然后重新指定证书位置即可,或者关闭证书校验。

    # 方案1:重置证书存放的位置信息 git config --system http.sslcainfo "D:/Git/ssl/certs/ca-bundle.crt" # 方案2:关闭证书校验 git config --system http.sslverify false

     

    4、remote: Incorrect username or password ( access token )

    window10解决办法:

    win+r输入control打开控制面板-》用户账户-》管理你的凭据-》indows凭据-》更新一下你的git密码

     

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    04.
    24
    39
    46
    72.
    21.
    logout: not found”
    Username is not in the sudoers file. This incident will be reported
    激活函数
    排序算法
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/9907750.html
Copyright © 2011-2022 走看看