阿里云CentOS7中Git和GitHub使用总结

来源:互联网 发布:js级联菜单 编辑:程序博客网 时间:2024/06/05 07:43

  1.Git的安装

  查看Git是否安装:git

  YUM安装Git:yum install git

  查看Git版本:git --version

  配置全局信息(注意空格):

  git config --global user.name '随便输入名字'

  git config --global user.email '随便输入邮件地址'

  git config --global color.ui true

  Note:git config命令的--global参数表示当前这台机器上所有的Git仓库都会使用这个配置(也可针对不同的仓库设置不同的配置),--global是针对当前用户起作用的,如果不加则只针对当前的仓库起作用

  2.Git库的操作

  根目录下创建Git版本库:mkdir gitrepos

  设置成为Git可以管理的仓库:git init

  Note:.git(ls -ah)隐藏目录是Git用来跟踪管理版本库的,每个仓库的Git配置文件都放在.git/config文件中,当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中

  创建并保存测试文件:vim readme.txt

  添加文件到仓库(可多个):git add (-f强制添加) readme.txt

  提交文件到仓库并注释:git commit -mm "输入备注信息即可"

  查看仓库的当前状态:git status

  查看仓库的修改内容:git diff readme.txt

  Note:git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别

  查看历史记录:git log [-1表示last](--pretty=oneline)

  Note:commit edf09fad36432c5aa3b487d0a8b96a78ac62ff8d

  版本的回退:git reset --hard HEAD^

  Note:HEAD表示当前版本,上个版本是HEAD^,上上个则是HEAD^^(HEAD~2)

  回退到指定的版本:git reset --hard edf09f(commit id:Git可进行模糊查询)

  Note:git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区

  Git命令的记录:git reflog

  放弃修改:git checkout -- readme.txt

  Note:没有--就会变成“切换到另一个分支”的命令

  删除文件:git rm readme.txt

  创建标签:git tag "标签名称"(默认为HEAD,也可指定commit id)

  查看标签:git tag在成都做阴茎延长术要多少钱

  查看标签信息:git show "标签名称"

  git tag -a "标签名称" -m "comments" "commit id",-a表示指定标签名

  git tag -s "标签名称" -m "comments" "XXXXXX",-s表示用私钥签名一个标签

  删除标签:git tag -d "标签名称"

  推送标签到远程:git push "远程库名字" "标签名称"

  全部标签推送到远程:git push "远程库名字" --tags

  远程库标签删除:git push "远程库名字" :refs/tags/"标签名称"(需要本地删除)

  忽略配置文件:.gitignore

  (a)忽略操作系统自动生成的文件,比如缩略图等

  (b)忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件

  (c)忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件

  检查忽略:git check-ignore -v "文件"

  别名配置:git config --global alias.st status ===>>>(git status==git st)

  删除别名:删除.git/config文件中对应的别名行的数据即可,配置别名也可以直接修改.gitconfig,如果修改错误则可以删掉文件重新通过命令配置

  3.GitHub的设置

  注册GitHub:https://github.com/

  创建SSH key:ssh-keygen -t rsa -C "随便输入邮件地址"

  Note:在根目录下如果可以看到:.ssh目录以及里面的id_rsa和id_rsa.pub两个文件则表示成功创建

  登陆GitHub后设置SSH Key,把id_rsa.pub文件的内容粘贴上去即可,然后在GitHub上创建仓库:spring-boot-learning

  Git与GitHub相连,在gitrepos中执行:git remote add "远程库名字" https://github.com/GitHub拥有者/GitHub仓库名

  推送master分支到GitHub:git push -u "远程库名字" master

  Note:首次提交才需要加:-u成都哪个医院做阴茎增粗好

  从GitHub克隆:git clone https://github.com/GitHub拥有者/GitHub仓库名

  查看远程库信息:git remote (-v显示详细信息)

  删除远程库:git remote remove "远程库名称"

  试图合并:git pull

  本地创建和远程分支对应的分支:git checkout -b branch-name "远程库名字"/branch-name

  建立本地分支和远程分支的关联:git branch --set-upstream branch-name "远程库名字"/branch-name

  4.Git分支管理

  分支dev创建与切换:git checkout -b dev(Fast forward)

  Note:-b参数表示创建并切换,相当于git branch dev和git checkout dev

  分支查看:git branch(当前分支前面会标一个*号)

  分支合并:git merge dev

  Note:git merge --no-ff -m "merge with no-ff" dev表示禁用Fast forward,加上--no-ff参数可以用普通模式合并且合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

  分支的删除:git branch -d dev(-D表示强行删除)

  查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit

  存储工作现场:git stash黑人小伙蛋蛋胀痛两周,国庆当到成都九龙终除病患

  查看工作现场:git stash list

  恢复工作现场:

  git stash apply恢复:但是恢复后stash内容并不删除,需要用git stash drop来删除

  git stash pop恢复:恢复的同时把stash内容也删除

  恢复指定的stash:git stash apply stash@{0}