GIT使用

作者: ShawnCaffeine | 来源:发表于2019-07-23 15:24 被阅读0次

2021/5/21 更新

add , commit(更新到本地仓库:.git下),push(推送到远程相同名称的分支下,例如local/Test - > origin/Test)

Merge(与其他分支合并,选用No Fast forward,能看到新建立的节点信息)

操作都是在本地操作

pull会拉取远程相同名称的分支,例如local/Test - > origin/Test

更新远程分支信息 GIt->Fetch

测试demo:https://gitee.com/shawnday/Hello-Word


了解git

1.集中式VS分布式

集中式 (CVS,SVN)

集中式

必须要联网,版本库集中存放在中央服务器,干活时都用自己的电脑。

分布式(Git)

分布式

无需联网,每个人电脑上都是一个完整的版本库。多人协作不同电脑只需把自己的修改推送给对方。

2.安装Git(Windows)

->全默认
至最后

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

3.创建仓库

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

3.添加文件并提交文件

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

使用命令git add <file>,注意,可反复多次使用,添加多个文件;
使用命令git commit -m <message>,完成。

$ git add readme.txt
$ git commit -m "append GPL"
[master 1094adb] append GPL
 1 file changed, 1 insertion(+), 1 deletion(-)

3.查看

$ git status //可随时掌握工作区状态

$ git diff //可查看修改内容

4.时空穿梭

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令

$ git reset --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

4.工作区与暂存区

工作区与暂存区

5.修改管理

直接丢弃工作区修改,用 git checkout--file
已在暂存区,1.用git reset HEAD <file> 2.git checkout--file
已经commit(前提是没有推送到远程库),版本退回
其中,git rm <file>不仅删除了文件,还添加到了暂存区。
rm <file> 只删除了工作区的文件。

5.创建SSH key

$ ssh-keygen -t rsa -C "youremail@example.com"

关联一个远程库(例如github),使用命令

$ git remote add origin git@github.com:michaelliao/learngit.git

关联后,使用命令

$ git push -u origin master

第一次推送master分支所有内容
此后,每次推送最近修改使用如下命令:

$ git push origin master

6.克隆仓库

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

$ git clone git@github.com:michaelliao/gitskills.git

7.分支指令

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支至当前分支:git merge <name>
删除分支:git branch -d <name>
查看分支合并图:git log --graph
当Git无法自动合并分支时,就西部首先解决冲突。解决冲突后,再提交,合并完成。

8.存储工作现场

手头工作未完成时,先把工作现场git stash一下,去修复bug,修复后,再git stash pop,回到工作现场。

与IDEA集成

最近工作的时候,一开始直接在master分支上进行了修改,忘记从master分支上拉一个分支下来了。在我直接checkout 分支(a)的时候,发现默认还未add或commit/push的文件改动(包括断点等的设置)直接带到切换后的分支(a)上。在我这个分支commit和push后,我切换回master,发现master还原了。就很奇怪。 经过实验,只要commit之后,master等就会复原到没有add的情况下。

IDEA 帮助文档提供了切换分支时的选项说明;

image.png
  1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未add或commit/push的文件改动(包括断点等的设置)会带到切换后的分支(B)上;

  2. 如果本地工作空间没有uncommitted changes, 分支会顺利切换

  3. 如果本地工作空间(分支A)有些文件会被分支B改动,IDEA会弹出对话框,让你选择Force Checkout 或 Smart Checkout;

如果选择Force Checkout, 本地工作空间(分支A)的一些未提交的修改会被覆盖(被分支B覆盖),会有很大可能丢代码!!!
如果选择Smart Checkout,IDEA会先执行stash命令,贮存这些未提交的修改,然后checkout 到分支B,在切换到分支B后,unstash 这些修改,所以A分支本地的这些修改会带到B分支上。

相关文章

  • Git常规使用

    Git怎么使用?使用 git commit 进行提交操作时,Git都做了什么? Git怎么使用? 下载、安装Git...

  • AD 使用 Git 的注意事项

    使用 Git 管理项目 Altium Designer 支持使用 Git/SVN 用以版本控制。如果使用 Git,...

  • git

    使用git add . 代替 git add *使用git add之后,怎样恢复?

  • GIT和Github

    #Git的初识 ##Git 的使用 Git 使用初尝试 新建项目来操作 克隆已有项目来操作 Git 的使用 by ...

  • git代理配置

    git http 使用 http proxy git http 使用 https proxy git http 使...

  • Git命令使用

    Git命令使用 前言在使用Git命令之前都使用可视化工具SourceTree操作git,现在需要Git Andro...

  • 前端学习路线(2)——Git使用、DIV+CSS布局

    Git使用、DIV+CSS布局 1. Git使用 链接:git下载链接:git for windows(下载速度可...

  • vscode操作git总让输入用户名密码

    clone使用git地址,不要使用https地址修改.git/config文件中的url = git@git.pl...

  • git 操作以及submodule模式详解,附加jenkins对

    git常用命令 注意:请确保已经安装里git客户端 git使用帮助 git --help //git使用帮助,可...

  • git

    *** git checkout 也可以直接 reset ***使用Git进行项目存储使用git pull时,项目...

网友评论

      本文标题:GIT使用

      本文链接:https://www.haomeiwen.com/subject/omqolctx.html