码迷,mamicode.com
首页 > 其他好文 > 详细

学会git bash不求人

时间:2020-05-31 13:08:27      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:ras   res   test   mail   home   user   gitignore   auth   ssh   

初始化的一个git仓库

git init [path] 注:如果没有path参数,则会选择当前所在目录作为git仓库

把文件放到git仓库需要两步

用命令 git add 把文件添加到暂存区
用命令 git commit -m "说明" 把暂存区提交到仓库

查看记录

git log 如果嫌看着比较乱可以使用 git log --pretty=oneline

查看命令记录

git reflog

回退到特定版本

git reset --hard [版本号] 或者 如果直接回到上个版本可以用 git reset --hard HEAD~1

比较工作区与仓库的文件差异

git diff

撤销文件

git checkout -- [file]命令撤销未放入暂存区的文件修改
git reset HEAD [file]命令把暂存区的修改退回到工作区,然后使用上述命令撤销文件修改

删除文件

git rm [file] 然后 git commit,如果误删想还原可以使用 git checkout -- [file]
git checkou 实际上就是用版本库里面的版本替换工作区的版本

清除缓存

git rm -r --cached .

分支管理

创建分支:git branch [branch-name]
切换分支:git checkout [branch-name]
创建并切换到新分支:git checkout -b [branch-name]
列出所有本地分支:git branch
合并分支到当前分析:git merge [branch-name] 默认使用快速合并,不保存历史,通过 git merge --no-ff -m "说明" [branch-name] 把合并也作为一个提交点,方便查看历史。
删除分支:git branch -d [branch-name] 如果要强行删除未合并的分支,则使用大写 D,git branch -D [branch-name]
删除远程分支:git push origin --delete [branch-name]

概念:主分支一般是用来发版本用的,平时做新需求或修改BUG的时候最好创建一个新分支,如果发现某个分支有BUG,最好也是在某个分支上创建一个分支去修改BUG后合并的某分支,如果某分支有未完成的任务,则可以使用命令git brash 把未完成的任务储藏起来,方便创建一个干净的分支去修复BUG,修复BUG完,合并后则可以通过命令把储藏区的内容恢复到工作区,通过命令 git stash list查看储藏的列表,然后使用git stash apply恢复,最后通过git stash drop删除储藏区的指定内容。另一种方式可以使用git stash pop,恢复的同时把储藏的内容删除。

远程分支

查看远程库信息:git remote -v
本地创建的分支,如果不推送到远程,那么其他人是不可见的
从本地推送分支:git push origin branch-name
在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name
建立本地分支与远程分支的关联:git branch --set-upstream branch-name origin/branch-name
从远程抓去分支:git pull origin [branchname]

标签

查看所有标签:git tag
对当前最新提交点创建标签:git tag tag-name,对特定提交点创建标签 git tag tag-name commit-id
查看标签信息:git show tag-name
删除标签:git tag -d tag-name
推送标签到远程:tag push origin tag-name,推送尚未推送的所有本地标签:git push origin --tags
删除远程标签:先删除本地标签 git tag -d tag-name 然后 git push origin:refs/tags/tag-namegit

Git配置忽略提交的文件

在工作区创建一个.gitignore的文件,该文件里面配置需要忽略提交的文件,然后把该文件提交到Git就可以了。

Git仓库搭建

服务端Centos安装Git:yum install git
新增一个git用户:adduser git
客户端生成SSH公钥:ssh-keygen -t rsa -C "youremail@example.com"
把公钥导入到服务端:/home/git/.ssh/authorized_keys 文件里
初始化一个仓库:git init /repo/git/test.git
防止其他人直接登录服务器修改工作区把所有者指向git账号:chown -R git:git /repo/git/test.git
防止git账户登录Shell:编辑 /etc/passwd 把 git:x:1001:1001:,,,:/home/git:/bin/bash 改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
现在可以克隆远程仓库了:git clone git@server:/repo/git/test.git

生成SSH公钥

ssh-keygen -t rsa -C "weiyu.jia@abs.com"
  -t代表秘钥类型,-C代表一个注释,可以当成标签或描述
  把公钥导入服务器/home/git/.ssh/authorized_keys文件就可以了

Git与SVN的区别

Git是分布式版本控制器,同一个Git仓库可以分布到不同的机器上,每台机器没有主次之分,SVN则只有一台主服务器
Git分支管理,SVN创建,切换等操作分支比蜗牛还慢,以至于分支功能成了摆设,Git创建,切换,删除等操作分支都在1秒内完成,无论你的版本库有多少个文件

学会git bash不求人

标签:ras   res   test   mail   home   user   gitignore   auth   ssh   

原文地址:https://www.cnblogs.com/net666/p/12996933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!