随笔 - 27, 文章 - 0, 评论 - 0, 阅读 - 7545
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Git 基础入门

Posted on   卡卡Kk  阅读(16)  评论(0编辑  收藏  举报

Git 基础入门

一、安装与配置

1.下载安装

https://git-scm.com/download/

 

2.使用入口

win: 右键菜单—git bash
mac: 终端窗口

 

3.基础配置

a. 首次使用添加身份说明,使用以下两个命令:

$git config --global user.name "你的昵称"

$git config --global user.email 邮箱

 

b.创建仓库

①在项目文件夹下使用git bash输入$git init

②使用他人项目创建仓库

 

c.项目克隆

$git clone项目url

 

二、状态&提交版本

1.跟踪

a.跟踪文件

$ git add <name>

 

b.跟踪当前目录

$ git add.

 

2.取消跟踪

a.rm删除

$ git rm <name>

 

b.保留但不跟踪

$ git rm-cache <name>

 

3.文件状态修改

a.将修改文件缓存

git add <file-name>

 

b.取消缓存

it reset HEAD <name>

 

c.提交缓存的修改

git commit

 

d.git commit具体操作

①git commit进入提交界面,

按" i"键进入输入模式后输入本次提交详情,然后esc退出编辑模式,按”:"进入命令栏,输入"wq"保存并退出.

②git commit -m '你对提交内容的描述'

③git commit -a

连带未暂存文件一起提交

git commit -am '提交描述'

④git reset head~ --soft

使用该命令取消本次提交,但是首次提交不可撤回.

 

e.查看状态

①git status

红色代表已修改,未暂存

绿色代表已暂存

提交后,则不显示

 

②git diff

详细查看文件的第几行第几个字母被修改了

 

③ git log

查看提交历史信息

git log --all    查看所有分支的提交   结合graph食用更佳

git log --all --graph   图形化查看所有分支的提交

三、远程仓库

1.链接远程仓库到本地

git remote add [远程仓库名字] [远程仓库链接]

 

2.重命名仓库

git remote rename [目标仓库名] [修改内容]

 

3.推送到远程仓库

git push [仓库名] [分支名]

 

四、分支

1.创建分支

git branch [分支名]

新建并切换到该分支  git checkout-b [分支名]

 

2.查看分支

git branch --list

 

3.切换分支

git checkout [分支名]

 

五、分支合并

1.无冲突合并
在合并至的分支使用
git merge [要合并的分支]

 

⒉.分支冲突merge conflict

将分支2合并到master分支时,与分支1冲突了.原因是分支1和分支2修改了同一处内容.

git status查看哪里有冲突,vi到冲突文件中,选择一个分支的内容保留下来,保存退出

六、推拉与远程跟踪分支

1.推送

git push [仓库名] [分支名]

或者

git push -u [仓库名] [分支名]
第一次使用-u指定推送目标后, 此后可直接使用git push

 

2.拉取

get fetch

 

一、普通克隆方式:
git clone <远程仓库地址>
这种克隆方式默认是克隆master主分支,
而且通过命令 git branch --list 能看到克隆后在本地也只有这一个分支,
如果再通过新建分支再拉取指定分支,甚至可能还需要解决冲突,太繁琐。

二、克隆远程指定分支:
那么,如何快速有效的直接克隆远程指定分支?
只需要一条命令:

git clone -b <指定分支名> <远程仓库地址>
会自动在克隆该分支在本地,同样克隆后本地只有这一个分支。

三、迁出到远程指定分支
意思就是,在本地创建个和远程分支同名且代码也完全相同的分支,并迁出到该分支:

git checkout -b <远程分支名> origin/<远程分支名>
这样迁出后的分支和远程分支是完全一致,不会被迁出前的本地分支污染。

从master上拉取一个新分支:
git branch 查看当前分支,显示为master就行了
git branch --list 查看本地分支
git branch -a 查看远程所有分支
git checkout -b xxx 根据master分支切一个xxx分支出来 并切换到xxx分支
git push -u origin xxx 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,
所以要加-u。第一次将新分支提交到远程上时需要加-u
(以后即可直接用git push代替git push origin xxx)

提交到当前开发分支:
git branch 查看当前分支
git status 修改和添加的文件是红色的
git add . 将所有的文件推到暂存区
git status 此时修改和添加的文件是绿色的
git commit -m "" 将暂存区的代码推到本地仓库
git status 此时工作目录是干净的
git push origin xxx 将本地仓库xxx推到远程xxx,远程上有这个分支时可以不用写origin xxx
ps:要提交新版本a.txt,即内容为’a’的a.txt,则需要使用git add a.txt,将新版本的a.txt放到staged暂存区,然后才能使用git commit -m进行提交。而如果使用git commit -am,则可以省略git add a.txt这一步,因为git commit -am可以提交跟踪过的文件,而a.txt一开始已经被跟踪过了

合并到master分支:
git checkout master 切换到master分支
git branch 查看当前分支
git pull origin master 保险起见先拉一下master分支上的代码
git merge xxx 将xxx合并到master分支
git push 将master分支代码推到远程,因为远程上有master分支,所以可以不用加origin master
git如何撤销上一次commit操作:
第一种情况,如果还没有push,只是在本地commit:git reset --hard <commit_id>

第二种情况,如果已经push:git revert <commit_id>
强制将远程上代码覆盖本地:
git fetch --all
git reset --hard origin/master
git pull

 

(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示