git基本使用

git 基本使用

初始配置:(名字和邮箱)
	git config --global user.name "chitalu"
	git config --global user.email "493368487@qq.com"

创建仓库(仓库即目录)
	mkdir hub1

初始化仓库(把目录设置为Git可以管理的仓库)
	git init

查看当前仓库中的文件夹和子目录是否有变化并展示
	git status

查看当前仓库与上次提交的内容不同之处
	git diff
	git diff 文件/目录	指定文件或目录的不同

把文件添加到本地暂存区
	git add .	添加仓库所有文件
	git 文件/目录		添加指定文件或目录

提交文件到本地仓库,并写一条操作信息备注
	git commit -m 'add readme.txt'

提交本地仓库的文件到远程仓库(推送代码之前要先pull下来)
	git push xxx.git branch 

添加远程仓库到本地
	git remote add origin(仓库名) xxx.git 

移除远程仓库
	git remote rm origin(仓库名)
	
查看所有的远程仓库
	git remote -v

 创建分支:branch

git branch 分支名称             创建分支
git branch -b 分支名称        创建并切换到指定分支
git branch                          查看所有分支
git branch -d 分支名称         删除分支
git merge 分支名称              将指定分支合并到当前分支
git checkout 分支名称          切换分支

 版本相关

查看版本提交记录
	git log
	
查看所有版本提交记录
	git reflog

tag(版本控制)版本一般放到master上
	git tag
	git tag -a 版本号 -m '描述信息'
	git tag 	查看版本
	git tag -n 	拿到版本详细
	git push origin --tags  	把tag推到GitHub上
	git pull origin --tags  	把tag从GitHub拉下来
	git push -u origin dev  	设置默认推送是到dev
	git checkout 版本号  	切换版本号
	git clone -b 版本号 https://github.com/xxx/xxx.git		拉取指定版本号代码

 从远程仓库拉取代码到本地

git clone https://github.com/chitalxt/learngit.git
git pull origin 分支 
	git fetch origin dev 
	git merge origin/dev :产生分叉git
	
	git fetch origin dev 
	git rebase origin/dev :不会产生分叉
git checkout -b dev origin/dev  拉取远程分支到本地仓库

 bug修复:(不常用)

git stash   将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list        查看“某个地方”存储的所有记录
git stash clear     清空“某个地方”
git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 
git stash drop      编号,删除指定编号的记录

 代码回退修改命令

    

 

git rebase --skip  git rebase作用:pull往下拉的时候,有冲突解决冲突,但是呢,提交记录会产生分支,用rebase能让提交记录保持一条线

     

 

 忽略自动检查: ~/.gitconfig(文件当到这里面,让git忽略,不再检测)
    添加 .idea/
    以斜杠“/”开头表示目录;
    以星号“*”通配多个字符;
    以问号“?”通配单个字符
    以方括号“[]”包含单个字符的匹配列表;
    以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

    ps:github上有python的gitignore

 

 连接git仓库
    a. HTTPS连接:https://github.com/chitalxt/learngit.git
            需要输用户名密码
        
        配置:
            1.https://用户名:密码github.com/chitalxt/learngit.git
        ps:私有项目:
            git clone https://用户名:密码github.com/chitalxt/learngit.git
    b. ssh连接
        ssh-keygen.exe
        把公钥放到GitHub上,以后可以用ssh连接
        
        一、生成密钥对
            大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先你要确认一下本机是否已经有一个公钥。
            
            SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
                $ cd ~/.ssh
                $ ls
                authorized_keys2  id_dsa       known_hosts config            id_dsa.pub
                
            看一下有没有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
            假如没有这些文件,甚至连 .ssh 目录都没有,可以用 ssh-keygen 来创建。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:
                $ ssh-keygen -t rsa -C "493368487@qq.com"
                Creates a new ssh key using the provided email # Generating public/private rsa key pair.
                Enter file in which to save the key (/home/you/.ssh/id_rsa):
            
            直接按Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行,应该不会有人闲的无聊冒充你去修改你的代码):
                Enter same passphrase again: [Type passphrase again]
            
            完了之后,大概是这样:
                Your public key has been saved in /home/you/.ssh/id_rsa.pub.
                The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 493368487@qq.com

        二、设置远程仓库(本文以github为例)上的公钥
             1、查看你生成的公钥:
                $ cat ~/.ssh/id_rsa.pub
                ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCVRiOUZrxvPjjbmsDCD5I76hXUJLuZiKCzM34EkWhagt9MlQwcjPlozR/FN2xhze0IzU52TUlBTd/6Bh1/k0kPdudi2+A09uVygc5H85bOb4fKB4NiEDTMD/Qrgh2kR/iY6AAJqTZVOaiaDC9OiI4RdLjsyyZKKsaFIvXWQNeIeO8aROwpJwDFBLDUoo+hfZ4njLnX2yGeAGmN3M7QORNRn8LuVCgEuiHUi2BaB/2D0Uv5ipuUVYdsCtrHUgO2ja1R3Qxs3nS+0qr1WTftDhlx9TMlP1ir0J5CSi2LuNkMvtWKSG+CYDkC1/4ystB3UMVsWk9rMF23mSvclQR8k6VV 493368487@qq.com
            2、登陆你的github帐户。点击你的头像,然后 Settings -> 左栏点击 SSH and GPG keys -> 点击 New SSH key
            3、然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,自己随便起个名字。
            4、点击 Add key。
                完成以后,验证下这个key是不是正常工作:
                    $ ssh -T git@github.com
                    Attempts to ssh to github
                如果,看到:
                        Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.
                恭喜你,你的设置已经成功了。
        
        三、把git的 ssh url 添加到本地仓库

 

posted @ 2019-05-16 16:36  chitalu  阅读(228)  评论(0编辑  收藏  举报