Git配置使用

来源:互联网 发布:ping命令测试网络丢包 编辑:程序博客网 时间:2024/06/10 19:02

Git:用于本地管理仓库的软件

GitHub:一个面向开源及私有软件项目的托管平台,只支持git 作为唯一的版本库格式进行托管。


安装:采用官网地址安装

环境配置:添加路径到path环境变量中     安装路径/Git/bin    (该路径下须有git.exe即为正确)


SSH KEY公钥生成:

$ cd ~/.ssh    或 cd .ssh               //检查本机是否有ssh key设置

$ cd ~                                              //切换当前目录   保证当前路径在 “~” 下

$ ssh-keygen -t rsa -C "xxx@qq.com"    //填写邮箱

进入.ssh/目录下,打开id_rsa.pub文件,全选复制公钥内容

登录GitHub系统,添加ssh key:

头像->Settings->SSH and GPG keys->New SSH key

粘贴公钥内容,点击Add SSH key完成公钥。本地仓库关联远程库时,需要验证SSH key。

注:Git使用SSH连接,SSH连接在第一次验证GitHub服务器的Key时,需要确认GitHub的key的指纹信息是否真的来自GitHub的服务器。输入yes将GitHub的key添加到本机的信任列表中。


Git命令示例:

$ mkdir learngit                //在当前目录下创建文件夹

$ cd learngit                     //进入当前目录下的learngit文件夹

$ pwd                                //显示当前目录路径

$ git  init                            //将当前目录(文件夹)初始化为新仓库(路径)

$ git config --global user.name "name"  //配置个人信息  --global 表示以后所有项目都默认使用这里的配置信息  去掉--global 表示 新的设定保存在当前项目的.git/config文件里

$ git config --global user.email "1@qq.com"  // Git为每一个提交都记录你的名字与电子邮箱,所以提交前需要配置个人信息

$ git add read.txt             //添加文件到仓库暂存区

$ git commit -m "note information"      //提交暂存区所有文件到仓库分支

$ git log --pretty=oneline                        //显示提交的日志记录

$ git reset --hard HEAD^^                      //回退版本   HEAD代表当前版本 ^代表上个版本   HEAD~10 代表上10个版本   --hard 323523523..  回退版本号前缀为323523523

$ git reflog                      //查看命令历史记录

$ git status                    //查看状态(暂存区、版本库)

$ git checkout -- file     //回退文件状态(上一次git add或git commit时的状态)

$ git rm readme.txt      //删除文件(需要commit  同步到版本库)

$ git echo ‘runoob.com’ > test.txt  //创建或覆盖文件内容

$ git remote add origin git@github.com:gitname/Unity.git       //gitname账户名  关联远程库(关联需要远程库具备本地SSH Key公钥)

远程库的别名[alias]就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。可以添加多个远程库


$ git rm <file> 仅删除工作目录中的文件

$ git rm -f <file> 强制删除 可以删除之前修改过且放到暂存区域的文件

$ git rm --cached <file> 把文件从暂存区域移除,但工作区仍保留


重点:分支管理

$ git remote         //查看远程仓库  添加 -v 参数查看别名的实际链接地址

$ git branch         //列出分支

$ git branch (branceName)  //创建分支

$ git branch -d (branceName) //删除分支

$ git remote rm [alias]    //删除远程仓库

$ git checkout (branceName) //切换分支

$ git checkout -b newtest //创建新分支且切换到该分支

$ git merge newtest        //合并分支到主分支  合并冲突需要手动修改并添加、提交

$ git diff   //查看git status的详细信息  显示区别--已写入缓存与已修改但尚未写入缓存的改动


提取远程仓库的更新:git fetch 、git merge

$ git fetch [alias] //从远程库下载新分支与数据 需要git merge远程分支到你所在的分支

$ git merge [alias]/[branch] //从远程库提取数据幷尝试合并到当前分支

注:merge后一个参数,表示合并到本地主分支,其使用Fast forward模式,该模式下,删除分支后,会丢掉分支信息

   添加--no-ff参数会强制禁用该模式,同时merge时会生成一个新的commit(保存分支信息),为此需要-m为commit添加注释

示例:$ git merge --no-ff -m "merge with no-ff" dev

推送到远程仓库:

$ git push [alias][branch] 将你的[branch]分支推送成为[alias]远程仓库上的[branch]分支

$ git push -u origin master      //推送分支 master 到远程库 origin     名字都可以变化  -u 代表将分支与远程库关联  简化命令


Bug分支:

每一个bug都可以通过一个新的临时分支来修复,修复后合并分支幷删除临时分支。

若当前分支上的任务未完成,现需要紧急新建Bug分支。此时需要保存当前工作现场,从其它分支中新建Bug分支

$ git stash 保存当前工作现场  就可以切换到其他分支上了

$ git stash list 回到原先分支上 查看工作现场

$ git stash apply 恢复工作现场




错误描述:git push origin master后报错failed to push some refs to ...

原因:远程库有本地库未拉取的文件(常见README.md未同步)

方法:git pull --rebase origin master


简单使用示例:

首先选择本地目录生成仓库:$ git init

设定该仓库账户身份:$ git config --global user.email "you@example.com"    $ git config --global user.name "Your Name"

关联远程库:$ git remote add origin git@github.com:CounterName/ProjectName.git    默认GitHub账户和SSH Key已配置好

git add -A  添加所有改变的文件   git add . 添加新文件和编辑过的文件不包括删除的文件   git add -u 添加编辑或删除的文件,不包括新添加的文件


$ git branch -r   查看远程仓库的所有分支

$ git clone origin  git@github.com:xxx/sss.git gitfile    在当前目录下 创建gitfile 克隆远程仓库到该文件夹下    注意其已经建立了本地分支与远程库的联系

原创粉丝点击