git的使用大全 git的命令行怎么用 git的命令行命令 GitHub

其实接到之前说过的一些git内容是git入门了,学一个东西主要就是学它是做什么的,然后就是怎么用它。

比如学服务器,可以转发请求、负载均衡等等,那接下来就是Tomcat、django、nginx什么的怎么配置。

git也是这样,所以这一节就总结下git的命令,资料网上的,有对有错,会加以自己的解释判断。


命令行我们都是用git bash操作 就是你在哪个文件夹鼠标右键看到的那个git bash选项 不会的时候 就 在终端 help 一下,看一下命令 经验之谈

那么首先我们要录入我们的信息,因为提交时候 总得知道是谁提交的对吧,同样的 记住之前那句话,就是添加了就被git托管了 没有添加那么就没有被纳入git管理

#设置用户信息 
   git config --global user.name “你的姓名”
   git config --global user.email “你的邮箱”
#查看配置信息
   git config --list
   git config user.name
#通过上面的命令设置的信息会保存在~/.gitconfig文件中

添加了用户信息,那就可以初始化本地仓库 克隆仓库等等啦

# 初始化仓库带工作区
git init
# 初始化仓库不带工作区
git init --bare  
为什么要初始化一个不带工作区仓库呢,它存在的意义一般用于克隆别人的仓库,和带工作区的初始化相比不同之处在于,.git隐藏文件夹没有 文件都暴露在你的文件夹下面
# 从远程仓库克隆
git clone 远程Git仓库地址 
# 查看状态 就是看添加了哪些文件之类的,和日志有点不同
git status 
#查看状态 使输出信息更加简洁
git status –s 
# 将未跟踪的文件加入暂存区 到这一步 那你的文件就被git托管了
git add  <文件名>  
# 将暂存区的文件取消暂存 (取消 add )
git reset  <文件名>
# git commit 将暂存区的文件修改提交到本地仓库
git commit -m "日志信息"  <文件名>  
# 从本地工作区 删除文件
git rm <文件名>  
# 如果本工作区库误删, 想要回退
git checkout head <文件名> 
当然了也可以直接删 但还是遵循流程吧

那接下来就要开始和远程仓库联动了 还是之前那句话 不会的时候 就 在终端 help 一下,看一下命令 经验之谈

# 查看远程  列出指定的每一个远程服务器的简写
git remote 
# 查看远程 , 列出 简称和地址 这个意思就是查看简要说明
git remote  -v  
# 查看远程仓库详细地址 这个意思就是针对某个仓库的具体说明
git remote show  <仓库简称>
# 添加远程仓库 shortname 这个名称可以自定义 比如 常用的就是origin了
git remote add <shortname> <url>
# 移除远程仓库和本地仓库的关系(只是从本地移除远程仓库的关联关系,并不会真正影响到远程仓库)
git remote rm <shortname> 
# 从远程仓库克隆
git clone <url> 
# 从远程仓库拉取 (拉取到.git 目录,不会合并到工作区,工作区发生变化)
git fetch  <shortname>  <分支名称>
# 手动合并  把某个版本的某个分支合并到当前工作区 merge的时候要注意,加一些参数的话,远端的network会更好看
git merge <shortname>/<分支名称>
# 从远程仓库拉取 (拉取到.git 目录,合并到工作区,工作区不发生变化) = fetch+merge
git pull  <shortname>  <分支名称>
git pull  <shortname>  <分支名称>  --allow-unrelated-histories  #  强制拉取合并

上面的意思就是说 我们怎么克隆一个远程仓库,毕竟本地是空的

第二个是拉取远程仓库 但是拉取完不知道要合并哪个分支到本地仓库啊

所以和merge命令是一起用的 意思就是把哪个分支融合到我们的本地仓库

第四个就是把fetch merge 结合起来,其实也是用的最多的一个 其实吧 记住pull和push就行了 其他命令用可视化界面

比如之前说的tortoisegit、GitHub desktop 等等

--allow-unrelated-histories 参数也好理解,本地仓库可能有文件存在 不是一个空仓库 那就强制拉取合并到本地

# 将本地仓库推送至远程仓库的某个分支
git push [remote-name] [branch-name]

接下来是分支操作 分支是重要的一个操作,有了分支操作,那么你就会得到一个很漂亮的开发图

我随便在GitHub上找了一个(之前和室友开发过 但是项目好像不在了)

这个是nbminer项目,network就是漂亮的分支合并 创建图

# 默认 分支名称为 master
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a
# 创建分支
git branch <分支名>
# 切换分支 
git checkout <分支名>
# 删除分支(如果分支已经修改过,则不允许删除)
git branch -d  <分支名>
# 强制删除分支 慎重选择
git branch -D  <分支名>
# 提交分支至远程仓库
git push <仓库简称> <分支名称>	
# 合并分支 将其他分支合并至当前工作区 merge的时候要注意,加一些参数的话,远端的network会更好看
git merge <分支名称> 
# 删除远程仓库分支 origin 就是 shortname 自定义的仓库名
git push origin –d branchName

接下来是标签命令

# 列出所有tag
git tag
# 查看tag详细信息 
git show [tagName]
# 新建一个tag
git tag [tagName]
# 提交指定tag
$ git push [仓库简称] [tagName]
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
# 删除本地tag
$ git tag -d [tag]
# 删除远程tag (注意 空格)
$ git push origin :refs/tags/[tag]

下面是一个案例,也就是开发过程
1) 入职第一天,管理人员分配/git账号密码 
2) 开发人员下载代码即文档/ 根据文档将环境搭建成功
3) 团队一般会给你讲讲项目相关的支持
----
4) 你接到第一个需求(或者某个功能,一般要经过沟通,分析,设计...等过程)
5) 创建feature分支(一般一个需求对应一个feature,命名格式上标注该需求的id)
6) 开发需求,本地测试,提交代码到当前需求对应的feature分支,
    一般来讲为了避免将测试代码提交,需要提交前,检查如下步骤
    6.1) 是否多提交了某个文件,比如测试文件
    6.2) 是否漏提交文件
    6.3) 打开每一个应该提交的文件,判断是否多提交了一行代码,是否少提交了一行代码,是否删除了本应该存在的代码 
    检查完毕提交代码
7) 合并分支至test分支-- 测试人员会在test分支中测试
8) 测试人员测试bug ,开发者在feature分支上继续修改,提交
9) 测试人员测试通过 ,test分支会被测试人员合并到develop开发分支,再次测试
10)develop分支最终会被合并到master主分支


补充

对于git merge命令
比如添加 --no-ff 参数可以保存历史分支信息
这样在远端仓库查看分支网络时候 更好看

每个命令都有一些参数 这个还需要自己实践发现 不会的话就在终端 help 一下

比如这样

这个就是使用了git push origin xxx 推送多个分支上去

然后git merge xxx --no-ff  加了这个参数

然后git push origin master 把主分支推送上去,就有这种融合效果了

git的教程为止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值