专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Git的使用

Git上传代码文件到云端

第一步:本地初始化Git版本库

git init

第二步:Git配置

全局配置

git config --global user.name "用户名"
git config --global user.email "邮箱"

单个版本库配置

git config user.name "用户名"
git config user.email "邮箱"

第三步:链接云端

git remote add origin "你的远程仓库地址"(复制链接后结尾是.git,如果没有记得加 .git)  

第四步:上传

git add .      --将项目中的所有文件上传 
git commit -m '对上传文件的注释,记得这里要用双引号'
git push origin master    --正式上传至云端中,

在使用 git push origin master 时可能会出现如下这种情况:

67_1.png

我们可以使用命令把版本库中的文件拿下来: git pull --rebase origin master

或者是使用git pull -u origin master强制执行

更新远程仓库代码到本地

当我们在多台电脑上开发一个项目的时候,需要经常修改提交内容并在另一台电脑上更新远程最新的代码,今天看了一下如何从远程代码仓库获取更新到本地,总结了一下网上的文章,采用如下的方式比较简单。

当我们在多台电脑上或者多人共同开发一个项目的时候,远程仓库会不时地被修改,而自己也在不断修改自己的本地仓库,因此仓库的远程版本与本地版本势必会导致不一致。比如A同学基于版本1修改了远程仓库并提交了,形成了版本2;B同学的本地仓库是基于版本1的,并对版本1做了自己的修改,当B同学更新本地仓库的时候会自动地将本地仓库与远端版本2仓库合并,这个合并被期望能够保护B同学基于版本1进行的一些修改。 这里说明这种情况下,Git的处理机制以及我们保护本地基于旧版本仓库修改的内容的的应对措施。

第一种

查看远程分支

git remote -v

从远程获取最新版本到本地

使用如下命令在本地创建一个新分支temp,并将远程origin仓库的master分支代码下载到temp分支下:

git fetch origin master:temp

比较本地仓库与下载的temp分支

git diff temp

对比区别之后,如果觉得没有问题,可以使用如下命令进行代码合并。

合并temp分支到本地的master分支

git merge temp

删除temp分支

如果temp分支不想要保留,可以使用如下命令删除该分支:

git branch -d temp

如果该分支的代码之前没有merge到本地,那么删除该分支会报错,可以使用git branch -D temp强制删除该分支。

第二种

git pull的作用是,从远程库中获取某个分支的更新,再与本地指定的分支进行自动merge。完整格式是:

git pull <远程库名> <远程分支名>:<本地分支名>

比如,取回远程库中的develop分支,与本地的develop分支进行merge,要写成:

git pull origin develop:develop

如果是要与本地当前分支merge,则冒号后面的<本地分支名>可以不写。

git pull origin develop

通常,git会将本地库分支与远程分支之间建立一种追踪关系。比如,在git clone的时候,所有本地分支默认与远程库的同名分支建立追踪关系。也就是说,本地的master分支自动追踪origin/master分支。因此,如果当前处于本地develop分支上,并且本地develop分支与远程的develop分支有追踪关系,那么远程的分支名可以省略:

git pull origin

其实,git pull 命令等同于先做了git fetch ,再做了git merge。即:

git fetch origin develop
git checkout develop
git merge origin/develop

或者

git fetch origin master:tmp
git diff tmp 
git merge tmp
git branch -d tmp

好多人不建议使用git pull,喜欢自己merge,以便万一自动merge出错的时候可以解决冲突

分支命令

查看所有分支

git branch -a

查看当前使用分支(结果列表中前面标*号的表示当前使用分支)

git branch

切换分支

git checkout 分支名

创建并切换到新分支

git checkout -b 新分支名

查看日志

git log

git的一些操作

在查看git日志时,如何退出日志呢: 英文状态下按下 Q 即可。

git查看只commit没有push的文件或者提交记录

查看有多少次 提交了 没有push到版本库

git status

eg:Your branch is ahead of ‘origin/master’ by 1 commit. (我这里有一次)

查看已经提交 但是未传送到远程代码库的提交描述/说明

git cherry -v

eg: + 27122d40164dbf08276d96960bde20a2059cdb8b 描述

查看已经提交但是未传送到远程代码库的提交详情(可能不止一次)

git log master ^origin/master

eg:

commit 27122d40164dbf08276d96960bde20a2059cdb8b Author: huyw Date: Mon Oct 8 11:43:19 2018 +0800

描述

总结:一定要记住时刻本地和服务器保持一致,一旦出现冲突,生产环境就很麻烦(当然,不怕冲突多的,可以忽略)

  • git status 只能查看未传送代码库提交的次数
  • git cherry -v只能查看未传送代码库提交的描述/说明(唯一id)
  • git log master ^origin/master则可以查看未传送代码库提交的详细信息

文章永久链接:https://tech.souyunku.com/46876

未经允许不得转载:搜云库技术团队 » Git的使用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们