美文网首页工具篇
git的相关学习

git的相关学习

作者: 一只码农的成长 | 来源:发表于2018-06-28 17:59 被阅读0次

    一、git的安装

    windows的安装:git for windows
    安装完成后,在命令行输入git --version,能看到版本号就代表安装成功了

    二、配置个人信息

    需要配置个人的邮箱以及姓名,这样在执行git提交时,会引用这两个信息,可以清楚知道是谁做了提交,配置的语句如下:

    git config --global user.email '<邮箱名>'
    git config --global user.name '<名字>'
    

    执行过命令后,会在系统根目录下生成.gitconfig,打开该文件后,里面有刚才配置的个人信息

    三、常用的git命令

    1、git init初始化仓库
    2、git clone <仓库网址>克隆已有的仓库
    3、git add index.php提交单个文件index.php
    4、git add .提交所有的文件
    5、git add *.php使用通配符提交某类文件
    6、git status查看状态
    7、git commit -m '第一次提交'将add提交的文件提交到仓库中
    8、git commit -a -m '提交信息'如果要提交的是已经提交过的文件,那么就可以不需要再执行add命令
    9、git rm index.php删除仓库和本地的index.php文件
    10、git rm --cached index.php只删除仓库中的文件,本地项目里的文件依然保留
    11、git commit --amend修改最后一次的提交信息
    12、git ls-files查看仓库中的所有文件
    13、git push推送
    14、git pull拉取

    四、日志log

    1、git log查看所有的日志(如果过长,按q退出)
    2、git log -p -2查看最近的两次提交日志并显示文件的差异
    3、git log --name-status查看新增,修改,删除的文件清单
    4、git log --oneline一行显示日志信息

    五、配置快捷命令

    1、在.gitconfig中配置快捷命令(设置别名):
    通过命令配置

    git config --global alias.a add .
    //.有特殊意义,需要在文件中手动添加
    

    这样在.gitconfig文件中就有如下信息

    gitconfig.png
    参照文件中的格式就可以直接在文件中配置更多的快捷命令
    如此配置完成后,git a就相当于git add .
    2、在系统的.bash_profile文件中配置快捷命令
    alias gs="git status" 
    alias gc="git commit -m " 
    alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit  " 
    alias gb="git branch" 
    alias ga="git add ." 
    alias go="git checkout" 
    

    配置完成后,需要重启命令行终端,windows是git bash,之后在使用gs就相当于使用了git status

    六、配置忽略文件.gitignore

    在配有.git仓库的目录下,配置.gitignore文件,在文件中可以直接设置在提交时需要忽略的文件

    a.php
    /vendor
    .idea
    *.txt
    

    如此配置,在提交时就会忽略a.php文件,.idea隐藏文件,vendor目录(文件夹)以及所有的txt文件

    七、分支

    本地只有在第一次提交完成(即git commit -m)之后,才会有分支master
    1、git branch查看所有的分支
    2、git branch admin创建admin分支
    3、git checkout admin切换到admin分支
    4、git checkout -b b创建并切换到b分支
    5、合并分支,如下是将admin分支合并到主分支master上,

    git checkout master
    git merge admin
    

    6、git branch -d admin删除已合并的admin分支
    7、git branch -D admin删除未合并的admin分支
    8、git branch --no-merged查看未合并的所有分支(必须在主分支下才能查看)
    9、git branch --merged查看已合并的所有分支

    冲突

    在分支合并时可能会产生冲突,因为不同分支修改了同一文件或者是不同开发者修改了同一分支的文件,这时候需要手动修改冲突的文件,修改完成后执行git add .以及git commit -m

    八、暂存工作状态

    需要暂存工作状态的原因:比方说目前在分支1下开发,但这时候需要到分支2下开发,而分支1下做的工作还不能提交,就需要将分支1下的工作状态暂存起来,在分支2下完成开发后再回到分支1下取出暂存的状态继续开发
    在暂存前需要先git add .提交一下,但不要git commit -m
    1、git stash暂存工作状态
    2、git stash list查看暂存列表
    3、git stash apply应用最近的一次暂存
    4、git stash save ''暂存工作状态并添加暂存信息
    5、git stash apply stash@{2}应用暂存列表中的stash@{2}这一个暂存
    6、git stash drop stash@{1}删除暂存列表中的stash@{1}这一暂存,删除之后,之后的暂存都会顺次向前移
    7、git stash pop应用最新的暂存并删除该暂存

    九、标签

    可以给某一版本添加标签,比方所版本号
    git tag v1.0添加标签
    git tag查看标签

    十、发布

    git archive master --prefix='<目录>/' --format=zip > <打包后的文件名>.zip
    

    该命令可以将master分支下的代码生成压缩包供上传服务器或别人下载使用

    十一、码云等在线仓库

    1、在码云上创建项目

    2、生成ssh密钥

    ssh-keygen -t rsa一直按回车直到结束,然后会在~/.ssh/目录下生成密钥id_rsa以及公钥id_rsa.pub,然后在码云等在线仓库下添加公钥id_rsa.pub里面的内容

    码云上的添加公钥.png

    3、将码云上创建的项目克隆到本地

    git clone <项目的ssh地址>

    4、本地修改提交后通过git push推动到在线仓库上

    5、不经过git clone,直接就将本地的项目推送到码云等在线仓库中

    ①首先在码云上添加自己的ssh公钥,通过ssh-keygen -t rsa生成
    ②在码云上生成一个空的项目
    ③在本地创建本地库,并完成初始化提交

    git init
    touch README.md
    git add .
    git commit -m '本地仓库初始化提交'
    

    ④给本地仓库添加远程仓库
    git remote add origin <码云上创建的空的项目的ssh地址>
    ⑤查看远程仓库
    git remote -v
    ⑥将本地数据推送到远程仓库
    git push -u origin master
    注:如果是通过git clone克隆的仓库,本地和远程已经关联,可直接通过git push推送

    6、git pull

    拉取远程主机的某个分支的更新,并与本地的某个分支合并
    git pull origin ask:ask拉取关联的远程主机的ask分支与本地的master分支合并
    git pull origin ask拉取关联的远程主机的ask分支与当前的分支合并
    git pull远程的分支与本地当前的分支同名可以直接拉取

    7、git push

    git push origin将当前分支的内容推送到远程主机相同分支
    git push -u origin master将当前分支的内容推送到远程主机指定的分支上
    git push origin --delete ask删除远程的ask分支
    git push --set-upstream origin ask关联远程的ask分支并推送

    相关文章

      网友评论

        本文标题:git的相关学习

        本文链接:https://www.haomeiwen.com/subject/cwpgyftx.html