Git 常用命令

参考视频,配置SSH可以参考

git官方网站_中文版

git官方网站_英文版


 

1.认识Git

(1)什么是git?

分布式版本管理系统

(2)svn与git的区别?

svn是集中式版本控制系统,版本库放在中央服务器,必须联网才能工作。

集中管理方式可以在一定程度上看到其他工作人员在开发什么,管理员也可以轻松掌握每个人的权限。

相较于优点,缺点也很明显:服务器单点故障(服务器挂了代码就没了);容错性差。

git去中心化思想,没有中央服务器,工作的时候不需要联网,版本都在自己的电脑上,每个人都有一个完整的版本库。

多人协作时只需要把各自的修改推送给对方,就可以互相看到对方的修改了。

(3)远程仓库github

SSH为Secure Shell(安全外壳协议)的缩写,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

需要在github上配置SSH密钥

 

2.Git常用命令

要在项目文件夹里打开git,新建一个pr = pull request

git三种状态:

已修改modified,在本地数据库中修改了文件,但还没保存到数据库中
已暂存staged,对一个已修改的文件的当前版本做了标记,使之包含在下次提交的快照中
已提交committed,已提交表示数据已经安全地保存

 

 

 

 

 

 

 

 

 

 

 

克隆项目

$ git clone https://github.com/libgit2/libgit2

查看当前分支状态,显示文件变更

$ git status 
获得简短的输出结果 $ git status
-s $ git status --shrot

新建分支

新建分支
$ git branch fix0001
进入分支 $ git checkout fix0001
创建分支并进入(常用) $ git checkout
-b fix0001

列出所有分支
$ git branch

删除分支
$ git branch -d fix0001

将fix0001分支改名成tmp
$ git branch -m fix0001 tmp

查看已经合并的分支(未加*的可以删掉)
$ git branch --merged

查看所有包含未合并工作的分支(删除会失败,-D强制删除)
$ git branch --no-merged

主分支为master分支 HEAD指针指向master,master指向提交

 添加提交

将文件添加到《暂存区》
$ git add a.txt
将《暂存区》的所有内容提交到当前分支 $ git commit vim模式: i切换到输入模式 先Esc再输入:wq退出

不用进入vim的世界
$ git commit -m "balabala"

删除文件
$ git rm a.txt

查看历史

$ git log(用q退出)

会输出你的提交历史、各个分支的指向以及项目的分支分叉情况
$ git log --oneline --decorate --graph --all

将本地仓库的提交上传到远程

$ git push origin fix0001
--force强推,以自己本地操作为准 $ git push origin fix0001
--force

合并分支及变基

fix0001分支的操作合并到master分支
$ git checkout master
$ git merge fix0001

将experiment分支变基到master分支
$ git checkout fix0001
$ git rebase master

丢弃本地的merge
$ git merge --abort 

第二天继续干活,先更新master

$ git checkout master
$ git pull $ git checkout fix0001 $ git rebase master

Git从远程分支获取最新的版本到本地有两种命令:
$ git fetch:相当于是从远程获取最新版本到本地,不会自动merge
$ git pull:相当于是从远程获取最新版本并merge到本地
git fetch更安全,可以查看更新情况,再决定是否merge
Pull = Fetch + Merge
Pull -r = Pull --rebase = Fetch + Rebase

IDEA中与"Run"、"Builld"、"Terminal"并排的"Git"(可能需要配)中的便捷操作

需要强推代码到以前的分支:
    选择某个历史分支,右键"Reset Current Branch to Here",网页上代码不要刷新,选择"Hard"模式或者其他,然后按照网页的代码重新修改

某个文件需要回退:
    右键文件名,选择Git,再选择"Rollback",然后点击Rollback即可

Git对标签的管理:很少用

 

2.Rebase与Merge详解

还没写,有点难嗷

 

posted @ 2022-04-06 15:53  myrtle  阅读(39)  评论(0编辑  收藏  举报