git常用命令总结git常用命令总结(代码片段)

bydzhangxiaowei bydzhangxiaowei     2023-02-28     405

关键词:

 

一、首先需要下载git

  查看电脑是否安装git,打开终端,输入git,回车如果输出如下,则代表已安装了git

技术分享图片

如果未安装,则会输出:

技术分享图片

 

 

按照提示输入:sudo apt-get install git即可安装!!或者到此处下载:git下载, pkg包下载完成,双击安装。

 

输入命令:git --version 可查看当前git版本

技术分享图片

 

二.安装后需要一些配置

 配置用户名和邮箱:

 

$ git config --global user.name "Your Name"  
$ git config --global user.email "[email protected]"  

使用 --global 修饰后设置的全局的用户,如果设置单个项目的用户,可cd到项目根目录下,执行如下命令:

$ git config user.name "Your Name"  
$ git config user.email "[email protected]"  

使用命令:git config --list 可查看当前用户信息以及其他的一些信息

技术分享图片
$ git config --list  
core.excludesfile=/Users/mac/.gitignore_global  
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"  
difftool.sourcetree.path=  
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"  
mergetool.sourcetree.trustexitcode=true  
http.postbuffer=524288000  
https.postbuffer=524288000  
user.email=你的邮箱@qq.com  
user.name=你的用户名  
macdeMacBook-Pro:~ Artron_LQQ$   
技术分享图片

三.建立本地git仓库

1. cd到你的项目目录

$ cd /Users/cjk/Desktop/myShop

2. 然后,输入git命令:

$ git init  

输出如下:

$ git init  
Initialized empty Git repository in /Users/cjk/Desktop/GitTest/.git/  

创建了一个空的本地仓库.

3.将项目的所有文件添加到缓存中:

$ git add .  

git add . (注意,后面有个点)表示添加目录下所有文件到缓存库,如果只添加某个文件,只需把 . 换成你要添加的文件名即可;

4.将缓存中的文件Commit到git库

git commit -m "添加你的注释,一般是一些更改信息"

下面是第一次提交时的输出:

技术分享图片
$ git commit -m "添加项目"
[master (root-commit) 3102a38] 添加项目
 18 files changed, 1085 insertions(+)
 create mode 100644 GitTest.xcodeproj/project.pbxproj
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
 create mode 100644 GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/GitTest.xcscheme
 create mode 100644 GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/xcschememanagement.plist
 create mode 100644 GitTest/AppDelegate.h
 create mode 100644 GitTest/AppDelegate.m
 create mode 100644 GitTest/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 GitTest/Base.lproj/LaunchScreen.storyboard
 create mode 100644 GitTest/Base.lproj/Main.storyboard
 create mode 100644 GitTest/Info.plist
 create mode 100644 GitTest/ViewController.h
 create mode 100644 GitTest/ViewController.m
 create mode 100644 GitTest/main.m
 create mode 100644 GitTestTests/GitTestTests.m
 create mode 100644 GitTestTests/Info.plist
 create mode 100644 GitTestUITests/GitTestUITests.m
 create mode 100644 GitTestUITests/Info.plist
技术分享图片

或者不添加注释 git commit  ,但是这样会进入vim(vi)编辑器

技术分享图片
# Please enter the commit message for your changes. Lines starting
# with ‘#‘ will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#       modified:   LQQCircleShowImage.xcodeproj/project.pbxproj
#       modified:   LQQCircleShowImage/TableViewCell.m
#
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"~/Desktop/LQQCircleShowImage/.git/COMMIT_EDITMSG" 8L, 292C
技术分享图片

 

 在这里可以输入更改信息,也可以不输入,然后 按住 shift + :  ,输入wq 即可保存信息并退出vim编辑器;

四,建立远程库

在一些代码托管平台创建项目,例如github或者开源中国社区,这里已开源中国社区为例;

创建项目后,会生成一个HTTPS链接,如下:

 技术分享图片

 

https://git.oschina.net/liuqiqiang/gitTest.git  

五,将本地的库链接到远

终端中输入: git remote add origin HTTPS链接

$ git remote add origin https://git.oschina.net/liuqiqiang/gitTest.git  

六.上传代码到远程库,上传之前最好先Pull一下,再执行命令: git pull origin master

输出:

技术分享图片
$ git pull origin master
warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From https://git.oschina.net/liuqiqiang/gitTest
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
Merge made by the ‘recursive‘ strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
技术分享图片

即pull成功,

七.接着执行:git push origin master

完成后输出:

技术分享图片
$ git push origin master
Counting objects: 34, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (29/29), done.
Writing objects: 100% (34/34), 15.63 KiB | 0 bytes/s, done.
Total 34 (delta 3), reused 0 (delta 0)
To https://git.oschina.net/liuqiqiang/gitTest.git
   5e2dda1..537ecfe  master -> master
技术分享图片

  即将代码成功提交到远程库!!!

注:如果pull之后出现 “ refusing to merge unrelated histories ”这句,就证明你合并pull两个不同的项目

出现的问题如何去解决fatal: refusing to merge unrelated histories

我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。

先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories

假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master --allow-unrelated-histories需要知道,我们的源可以是本地的路径

接着到你的远程库查看,提交前:技术分享图片

提交成功后:

技术分享图片

注意:操作的时候,指令不要输错了!!!!

下面这个是输错了 orgin的输出:

技术分享图片
git pull orgin master
fatal: ‘orgin‘ does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
技术分享图片

正确的应该是origin!!

如果在push的时候有如下输出:

技术分享图片
$ git push -u origin master
To https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to ‘https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git‘
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull ...‘) before pushing again.
hint: See the ‘Note about fast-forwards‘ in ‘git push --help‘ for details.
技术分享图片

看提示可知道,需要先pull一下,即执行一次:git pull origin master

然后再执行:git push origin master

分支管理

新建分支

$ git branch newbranch

查看分支

$ git branch

输出:

* master
  newbranch

*代表当前所在的分支

切换分支

$ git checkout new branch

输出

Switched to branch ‘newbranch‘

切换后可用git branch查看是否切换到当前分支

master
* newbranch

提交改动到当前分支

$ git add .
$ git commit -a

可使用git status查看提交状态

接着切回主分支

$ git checkout master

输出:

Switched to branch ‘master‘

将新分支提交的改动合并到主分支上

$ git merge newbranch

输出:

技术分享图片
Updating cc73a48..93a1347
Fast-forward
 GitTest.xcodeproj/project.pbxproj                        |   9 +++++++++
 .../UserInterfaceState.xcuserstate                       | Bin 0 -> 7518 bytes
 GitTest/test.h                                           |  13 +++++++++++++
 GitTest/test.m                                           |  13 +++++++++++++
 4 files changed, 35 insertions(+)
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
 create mode 100644 GitTest/test.h
 create mode 100644 GitTest/test.m
技术分享图片

这里我提交了两个文件,即:test.h和test.m

如果合并后产生冲突,可输入以下指令查看冲突:

$ git diff

修改之后,再次提交即可;

接下来,就可以push代码了:

$ git push -u origin master

这时可能需要你输入你的github用户名和密码,按照提示输入即可;

删除分支

$ git branch -D newbranch

输出

Deleted branch newbranch (was 93a1347).

 

以上就是最简单的github操作了,也是在网上看着学的,注意在实际操作中多加练习,代码这东西,刚开始桥的多了也就记下了!



git知识总结-3常用命令原理解析(代码片段)

0.前言本文主要对git常用命令的工作原理做一个详细的说明,常用命令主要包括:  1.gitadd gitadd相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理。 2.gitcommitgitcommit主要实现将暂存区的内容... 查看详情

常用git命令总结(代码片段)

Git是我们日常工作中使用频率极高的工具,各种指令让人眼花缭乱,今天,我们就在这里总结一下它的一些基本指令,算是做一份操作笔记吧。前言Git是我们日常工作中使用频率极高的工具,各种指令让人眼花缭乱,今天,我们... 查看详情

廖雪峰git教程笔记与总结--git简介常用命令分支管理(代码片段)

...-廖雪峰的官方网站后的一些心得笔记,并且对git一些常用命令做一个整理总结。本文要点分为:1、Git简介;2、Git常用命令;3、Git分支管理。一、Git简介什么是Git?Git是目前世界上最先进的分布式版本控制系... 查看详情

常用git命令指南总结(代码片段)

原创作品,出自“晓风残月xj”博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj)。由于各种原因,可能存在诸多不足,欢迎斧正!1、git推送本地分支到远程新分支gitcheckout-b... 查看详情

那些年,我们向往使用的git命令git常用命令总结(代码片段)

0背景作为当前世界上最强大的代码管理工具Git相信大家都很熟悉,最近想总结Git的原因是笔者在带新人和项目工作中经常发现一些不了解Git或者只会进行基本的操作,面对合并、回退等操作就一脸蒙蔽。一旦发生冲突就... 查看详情

git常用命令总结

本文通过 https://www.liaoxuefeng.com/wiki/896043488029600git教程跟着教程动手实践了常用命令,系统的了解了一下git,以下为常用命令总结  查看详情

怒转~git常用命令总结

git的一些基础命令Git常用命令请确保已经安装里git客户端一般配置git--version//查看git的版本信息gitconfig--globaluser.name//获取当前登录的用户gitconfig--globaluser.email//获取当前登录用户的邮箱登录git/*如果刚没有获取到用户配置,则... 查看详情

git常用命令总结(代码片段)

...有中央服务器,每个人的电脑都是一个完整的版本库。Git常用命令流程图如下:Git下载地址见→Git-Downloads2Git常用命令2.1本地仓库操作(1)初始化(init)#在当前文件夹下初始化git仓库(生成.git文件)gitinit注意:.git文件最好与... 查看详情

git命令总结(代码片段)

...1.8.3&Mac版2.2.4链接:http://pan.baidu.com/s/1bpnxx5l密码:36jjGit常用命令gitclonegitremotegitfetchgitpullgitpush1.gitclone远程操作的第一步,通常是从远程主机克隆一个版本库,这时就 查看详情

git介绍和常用命令总结

git中经常用的命令就是以下六个:  以下是命令总结: 另外,自己碰到的问题及解决方法:在分支内提交远程仓库,-am;revert后进入vim,一直按住esc,再连续按大写的z两次就退出来了;gitlog后英文状态下按q退出。gitc... 查看详情

git常用命令总结(代码片段)

远程仓库gitremoteremove//<远程库名>删除远程仓库gitremoterename<旧名称><新名称>//修改远程仓库名gitremoteaddoriginhttps://git.oschina.net/xiaoshusheng/Slow-download-speed.git//添加远程仓库ssh-keygen-trsa-C"[email protected]"//生成sshk... 查看详情

git常用命令(代码片段)

Git使用(对廖雪峰老师Git教程的总结,同时推荐一个博客的教程,诙谐有趣)Git配置全局配置主目录下的.gitconfig#设置名称信息gitconfig--globaluser.name<"Name">#设置邮箱信息gitconfig--globaluser.email<"Email">#显示颜... 查看详情

git常用命令总结

gitinit   在本地新建一个repo,进入一个项目目录,执行gitinit,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. gitclone   获取一个url对应的远程Gitrepo,创建一个localcopy.   一般的格式是gitclone[... 查看详情

常用的git命令整理

...于没有时间总结,今天刚好有时间特来总结一下在工作中常用到的代码版本管理器Git。至于为什么要用Git?Git相比SVN有哪些好处?我就不多说了,前人已经总结的很好。今天主要介绍的是常用的Git命令。Git工作流一般来说,日常... 查看详情

git常用命令总结

 帮助命令githelp<verb>git<verb>--helpmangit-<verb>例如:githelpconfiggit配置文件的三个位置/etc/gitconfig文件:系统级,系统上所有用户的通用配置~/.gitconfig文件:用户级,当前用户配置.git/config文件:仓级,当前仓生效每... 查看详情

git常用命令总结--原创

0.gitstatus仓库状态1.gitadd工作区--》暂存区2.gitcommit暂存区--》版本库3.gitlog查看日志4.gitreset--hardhead回退到上一版本5.gitreset--hardid回退到指定版本6.gitclean-n/-df回退后,清理未被跟踪过的文件7.gitreflog查看命令日志8.gitdiffHEAD--文件名... 查看详情

常用git命令总结

git无非就是本地仓库和远端仓库的映射关系;红色代表从远端仓库流向本地;绿色代表从本地仓库流入远端仓库;很好的几个网站:图解gitgit-简明指南git廖雪锋 查看详情

常用git命令总结

git无非就是本地仓库和远端仓库的映射关系;红色代表从远端仓库流向本地;绿色代表从本地仓库流入远端仓库;很好的几个网站:图解gitgit-简明指南git廖雪锋 查看详情