zoukankan      html  css  js  c++  java
  • Git Bash安装及常规使用

    1、远程仓库添加sshkey

     首先得有github账号吧,本地Git仓库和github仓库之间的传输是通过SSH加密的,在联系本地与远程仓库前,还需要进行一些设置。

    1、使用Git Bash生成公、私密钥

    查看本用户目录是否存在.ssh目录以及.ssh目录是否具有id_rsa和id_rea.pub文件,如果有说明生成过密钥。

    首先应该需要设置用户名、用户邮箱,然后执行以下命令生成密钥(执行过程中提示输入密码直接回车即可)

    ssh-keygen -t rsa

    执行成功后,就会在用户目录下生成.ssh/id_rsa文件和.ssh/id_rsa.pub文件。

    可通过以下命令查看密钥:

    cat ~/.ssh/id_rsa

    cat ~/.ssh/id_rsa.pub

    2、添加SSH key

    首先登陆github,然后Settings->SSH and GPG keys->New SSH key,将上一步生成的公钥拷贝到github,然后保存就可以正常pull、push代码了。

    初始化仓库有两种方式,一种在远程创建仓库,然后clone到本地;另一种是将本地已有的项目推到远程仓库。

    2、Git使用说明

    1、Git之stage、unstage

    未被Git跟踪的状态为unstage状态

    已经被Git跟踪的状态为stage状态,因此包括staging状态和staged状态

    untrack files是指尚未被git所管理的文件;

    changed but not updated是指文件被git管理,并且发生了改变,但改动还没被git管理;

    这两种状态,都可以看成是改动还没被git管理的状态,我们这里称非stage状态。

    changes to be commited是指进入stage状态的文件,可以被提交,stage是commit和未管理之间的一个状态,也有别名叫index状态,也就是git已经管理了这些改动,但是还没完成提交。

    Changes not staged for commit,指一种文件已被修改但无法被提交的状态,可以通过命令git add fileName来添加到可提交状态。当然,反过来考虑,已经处于可提交状态的文件也可以通过命令git restore fileName来使其处于不可提交状态(测试了,这条命令貌似不起作用(会变成deleted),why?不过可以使用git reset HEAD来清空缓存区)。

    Changes to be committed

    Changes not staged for commit

    Untracked files

    2、Git删除缓存区文件

    1、如果一个文件已经add到暂存区,还没有 commit,此时如果不想要这个文件了,有三种方法:

    1、用版本库内容清空暂存区,git reset HEAD 回退到当前版本(在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100);

    2、使用 git rm --cached 文件名 ,可以从缓存区移除文件,使该文件变为未跟踪的状态,同时下次提交时从本地库中删除,下次提交时该文件在本地以及远程都会被删除。

    3、使用 git rm --f “文件路径”,不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。

     

     3、Git强制覆盖本地版本文件(与Git远程仓库保持一致)

    依次执行:

    git fetch --all ---> git reset --hard origin/master ---> git pull

    4、Git查看分支

    git branch 查看本地分支

    git branch -r 查看远程分支

    git branch -a 查看所有分支

    5、Git分支

    git checkout master 切换分支,该分支本地已存在

    git checkout -b dev origin/dev 切换分支到dev,该分支本地不存在

    git branch test 创建新分支

    git branch -d test 删除分支

    git checkout -b dev 创建并切换到新分支

    *参考*

    https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

    https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424

    GIT -初始化文件,跟踪文件状态,设置忽略文件,提交文件,添加文件描述 https://blog.csdn.net/xys2333/article/details/89189870 

    克隆远程代码到本地: git clone 网址

    pull代码到本地(master分支):git pull origin master

    pull代码到本地(develop分支):git pull origin develop

    提交到本地仓库:git commit -m "提示信息"

    提交本地代码到托管仓库:git push origin master

    提交本地代码到分支:git push origin 分支

    查看用户名 git config user.name

    查看用户邮箱 git config user.email

    添加用户名:git config --global user.name "Your Name"

    添加邮箱:git config --global user.email "you@example.com"

    查看状态信息:git status

    切换分支:

    添加文件到缓存区:git add 文件名(或文件夹名)

    1.git强制覆盖本地文件(与git远程仓库保持一致):
    git fetch --all
    git reset --hard origin/master
    git pull
    git强制覆盖本地命令(单条执行):
    git fetch --all && git reset --hard origin/master && git pull

    2.git强制推送本地代码到远程仓库
    切换到对应的要上传文件的文件夹下面执行命令
    git push -u origin develop

    删除版本文件及文件夹:

    git rm -r -n "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
    git rm -r "bin/" //最终执行命令.
    git commit -m" remove bin folder all file out of control" //提交
    git push origin master //提交到远程服务器

    push时记住账号密码:

    文件默认路径为C:Usersadmin.gitconfig

    添加内容[credential] helper = store

    参考:

    使用git bash提交代码到github托管 https://www.cnblogs.com/tuanz/p/11204933.html

    gitbash的使用方法 https://www.cnblogs.com/geili/p/11261726.html

    Git Bash使用详细教程 https://www.cnblogs.com/ccw869476711/p/10818131.html

    Git下载安装及设置详细教程 https://www.jianshu.com/p/a152f82c5e4a

  • 相关阅读:
    转帖:linux 下注册apache开机自启动
    apache 编译 rewrite 模块
    Skyline开发入门(C#)
    matlab的m文件怎么集成到vs里?
    C#打包安装与卸载
    OnClick与OnClientClick的时序和条件
    javascript弹出窗口代码大全
    .NET开发人员必知的八个网站
    [转] GIS算法源码集合
    最短路径算法——Dijkstra and Floyd算法
  • 原文地址:https://www.cnblogs.com/hai-feng/p/12181613.html
Copyright © 2011-2022 走看看