Githup使用

1. git基本使用

常用git命令,参考:Git 大全

学习git,参考:廖雪峰的官方网站-Git教程

1.1. Git和GitHub、Gitee的区别

  • Git:宽泛的说,Git是目前世界上最先进的分布式版本控制系统。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力(即分支功能)
  • GitHub:gitHub是一个面向开源及私有软件项目的托管平台。作为免费的远程仓库,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
  • gitee(码云)同GitHub,不过Gitee是国内的,速度较快

1.2. 上传项目

  1. 打开文件夹(假设project),这个文件夹将作为工作区(Working Directory)存在
  2. 在文件夹右键,“Git BASH Here”或者使用cmd(linux下当然不是cmd了)将路径修改至目标文件夹
  3. 执行git init。执行完成后这时你会发现project里面多了个.git文件夹(这个不算工作区,而是Git的版本库(Repository)),它是Git用来跟踪和管理版本库的。如果看不到,是因为它默认是隐藏文件,需要设置一下让隐藏文件可见。这时,git自动为我们创建了唯一一个master分支
  4. 使用git status查看当前状态
  5. 编写.gitignore文件(如果没有,手动创建),忽略不想上传的文件
  6. 再次使用git status查看上传文件列表,若不合要求,则再次修改,直到符合要求为止
  7. 使用git add,添加至暂存区
  8. 使用git commit -m '注释',将暂存区内容提交至当前分支
  9. 上边两步可以合并,使用git commit -am '注释'
  10. git的ssh key等配置相关设置
  11. GitHub账号,以及ssh key等相关设置
  12. 在Github上创建好Git仓库之后,就可以和本地仓库进行关联。如:git remote add origin git@gitee.com:lihhz/node-test.git(这里用的是码云的ssh)
  13. git push -u origin master。-u:初次上传需要使用,表示--set-upstream
  14. 如果报错error:failed to push ...,执行git pull origin master拉取一下
  15. 如果再报错refusing to marge unlated histories,则修改命令为git pull --allow-unlated-histories origin master
  16. 解决完报错后,git push -u origin master(初次需要-u,以后就不需要了)
  17. 如果需要查看提交日志git log,可以加上参数--pretty=oneline这样每条记录将显示在一行内

2. 问题

2.1. 中文文件名问题

Git Bash中,如果操作中文文件名的文件,可能会找不到文件,这个时候需要在命令中的文件名前后加上"

2.2. 冲突解决

暂无

2.3. 怎么撤销修改

撤销修改

几种情况:

  1. 尚未使用git add
  2. 使用了git add,还没有git commit
  3. 使用了git commit,还没有git push
  4. 使用了git push

2.3.1. 尚未使用git add

  1. 手动修改文件至原始状态
  2. 使用git checkout -- 文件名称。注意,一定要有--,否则就成了切换branch;还有就是--和文件名称之间要有空格,如果是中文文件名,在文件名称前后加"
命令`git checkout -- readme.txt`意思就是,把`readme.txt`文件在工作区的修改全部撤销,这里有两种情况:

一种是`readme.txt`自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是`readme.txt`已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

2.3.2. 使用了git add

git reset HEAD readme.txt

使用了git reset HEAD 文件名后,相当于把修改后的文件从暂存区拿出来,重新放入工作区。如果还需要将工作区的修改撤销,则使用命令git checkout -- 文件名

`git reset`命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

2.3.3. 使用了git commit

参考:版本回退
使用了git commit意为着已经提交到版本库了,只是在远程仓库还不存在而已。这个时候需要的不是撤销操作,而是版本回退了。

版本回退步骤

  1. 使用命令git log [--pretty=oneline]查看历史版本
  2. 使用命令git reset --hard HEAD^回退到上一个版本,命令参数解释如下
    1. HEAD^的意思是上一个版本,也可以写成HEAD~1;如果你进行了2次commit,想都撤回,可以使用HEAD~2
    2. –mixed : 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add. 操作。这个为默认参数git reset --mixed HEAD^git reset HEAD^ 效果是一样的。
    3. –soft :不删除工作空间改动代码,撤销commit不撤销git add .
    4. –hard:删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态。

2.4. ssh和https

https每次上传都要提示用户名密码,很烦

2.5. 使用码云

参考:廖雪峰的官方网站 - 使用码云
码云上创建账号、上传ssh key 、新建仓库等

2.6. git修改提交的注释内容

amend	英[əˈmend]  美[əˈmɛnd]
vt.	修订; 改良,修改;

Git已经commit的log修改
1.输入命令:git commit --amend
2.修改最近提交的message,提交的注释都在最上面,输入:q 退出vim编辑器
3.查看是否修改成功:git log
4.修改成功后,提交远程:

    git push <remote> <branch> --force
    # Or
    git push <remote> <branch> -f

5.查看远程库,修改成功

2.7. 查看未提交或者未push到远程

git status ##只能查看未传送提交的次数
git cherry -v ##只能查看未传送提交的描述/说明
git log master ^origin/master ##则可以查看未传送提交的详细信息

2.8. 注

Github上仓库和本地仓库关联方法(命令行):

git remote add origin https://github.com/guyibang/TEST2.git

其中https://github.com/guyibang/TEST2.git就是Github上册仓库地址

  • Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

  • 我们把文件往Git版本库里添加的时候,是分两步执行的:

    • 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    • 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支
      因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
      你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一份简单的GitHub使用指南: 1. 创建GitHub账号:在GitHub官网上注册一个账号,并设置好用户名和密码。 2. 创建仓库:登录GitHub账号后,点击页面右上角的“+”按钮,选择“New repository”来创建一个新的仓库。填写仓库名称、描述等信息,并选择公开或私有的仓库类型。 3. 克隆仓库:在本地选择一个合适的文件夹,打开终端(命令行界面),使用`git clone <仓库URL>`命令克隆仓库到本地。仓库URL可以在GitHub页面上找到,点击绿色按钮获取。 4. 添加和提交代码:将需要添加到仓库的代码或文件复制到克隆的仓库文件夹中。在终端中使用`git add <文件名>`命令将文件添加到暂存区,然后使用`git commit -m "提交说明"`命令提交代码到本地仓库。 5. 推送代码:在本地仓库中使用`git push`命令将提交的代码推送到GitHub远程仓库。 6. 分支管理:通过创建分支来实现并行开发和代码管理。使用`git branch`命令查看分支列表,使用`git branch <分支名>`命令创建新分支,使用`git checkout <分支名>`命令切换分支。 7. 合并代码:在GitHub页面上打开合并请求(Pull Request)来将分支的代码合并到主分支或其他分支。其他开发者可以审查代码,并提出修改建议或直接合并代码。 8. 解决冲突:当多个分支上的代码修改产生冲突时,需要手动解决冲突。使用`git pull`命令拉取远程仓库的最新代码,然后手动解决冲突并提交修改。 9. 其他功能:GitHub还提供了许多其他功能,如问题跟踪、讨论区、代码审查等。通过GitHub界面上的相关功能按钮,可以轻松使用这些功能。 这只是一个简单的GitHub使用指南,GitHub还有许多高级功能和工作流程可以进一步探索和学习。你可以查阅官方文档或参考其他教程来深入了解GitHub的更多功能和用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值