Git学习笔记

1.下载安装

在终端输入git查看是否已经安装git
没有?点击下载
配置用户名:右击桌面,弹出终端窗口,在命令行输入:

$ git config --global user.name "Your Name"	// 定义用户名
$ git config --global user.email "email@example.com"	// 定义邮箱
$ git config user.name	// 查看用户名
$ git config user.email	// 查看邮箱

2.本地仓库操作

1.创建版本库
在D盘创建了learngit文件夹,在终端上切换到该目录,并输入如下指令:

git init	// 初始化该目录,把这个目录变成git可以管理的目录此时可以看到在该目录下多了一个.git文件

2.提交文件到本地仓库

git branch dev	// 新建dev分支
git checkout dev	// 切换到dev分支
git checkout -b dev	// 新建dev分支并切换到dev分支
git add readme.txt	// 添加到栈中
// 反义:git reset HEAD readme.txt	// 从栈中拿出来
git add .	// 将所有修改过的工作文件提交暂存区
git commit -m "wrote a readme file"	// 添加到本地仓库
git log --pretty=oneline	// commit历史
git reset --hard HEAD^	// 返回到上一次的本地仓库版本
git reset --hard 2f5c	// 返回到指定ID的本地仓库版本

3.从本地仓库检出文件

git checkout -- readme.txt	// 从本地仓库检出到项目

4.本地仓库常用操作指令

git status	// 查看文件状态
git diff readme.txt	// 比较栈中和本地项目间的不同
git log --pretty=oneline	// commit历史
git reflog	所有的历史(包括提交、检出等)
git branch	查看分支
git branch -d dev	删除dev分支
git merge feature1	合并当前分支和feature1分支(取两边文件最全的那一份文件内容,不管在哪个分支上进行合并,两个分支的内容都会合并到最新;有冲突的时候手动合并)
git log --graph --pretty=oneline --abbrev-commit	打印简写的commit记录
git merge --no-ff -m "merge with no-ff" dev	合并分支,能看出合并记录
git stash	加入缓存
git stash list	列表缓存队列
git stash apply stash@{0}	释放缓存,不删除缓存内容
git stash pop	释放缓存,同时删除缓存内容
git branch -D dev	强制删除dev分支
git reset <file>	取出暂存区中的文件
git reset -- .	取出暂存区中的所有文件

3.远程仓库操作

1.远程仓库常用操作
ssh-keygen -t rsa -C "1977288116@qq.com" 生成.ssh文件,主要为了github里面的key
生成的文件的路径:C:\Users\Administrator.ssh,然后点击下图中的New SSH key按钮,输入生成的文件的内容
这里写图片描述

git remote add origin git@github.com:1977288116/learngit.git	本地仓库和远程仓库建立连接
git remote remove origin	取消本地目录下关联的远程库
git push -u origin master	本地仓库内容全部提交到远程仓库(指定origin master为默认远程主机,以后git push 等价于 git push origin master)
git push origin master	将本地仓库内容提交到origin master远程仓库
git clone git@github.com:1977288116/gitskills.git	将远程仓库内容拷贝到本地当前分支
git remote	查看本地库关联的远程库
git remote -v	查看关联的远程库的详细信息
git checkout -b dev origin/dev	远程仓库down到新建的名字为dev的本地仓库
git pull	下载
git push --set-upstream origin dev	将当前本地仓库和远程仓库dev建立连接
git branch -a 查看远程分支
git remote rm origin	删除关联的名为origin的远程库
git config --global color.ui true	配置颜色
git add -f test3.txt	强制添加已忽略的文件
git check-ignore -v test3.txt	查看.gitignore文件里面的内容拼写是否有误
gitk 代码树
$ git push origin test:master         // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支

-- 删除远程分支
git rm <file> --cached # 从版本库中删除文件,但不删除文件
在Git v1.7.0 之后,可以使用这种语法删除远程分支:
$ git push origin --delete <branchName>
-- 删除远程分支方法
git branch -r -d origin/branch-name  
git push origin :branch-name 
删除tag这么用:
git push origin --delete tag <tagname>
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :<branchName>
这是删除tag的方法,推送一个空tag到远程tag:
git tag -d <tagname>
git push origin :refs/tags/<tagname>
两种语法作用完全相同。

2.标签操作

git tag v1.0	新建标签v1.0
git tag	查看所有标签
git log --pretty=oneline --abbrev-commit	查看所有简写的提交
git tag v0.9 6224937	新建标签v0.9
git tag -a v0.1 -m "version 0.1 released" 3628164	创建带有说明的标签
git tag -s v0.2 -m "signed version 0.2 released" fec145a	用私钥签名一个标签
git tag -d v0.1	删除标签
git push origin v1.0	上传指定名称的标签
git push origin --tags	上传所有标签
git tag -d v0.9	删除本地标签
git push origin :refs/tags/v0.9	删除本地标签后提交到远程——即删除远程标签	
git clone -b v0.9 下载指定标签

3.合并远程分支
1、把源码clone到本地库中
git clone my_git_site
2、在本地新建一个与远程的0.2版本相同(被合并的版本)的0.2分支
git checkout -b 0.2 origin/0.2
3、返回到master版本
git checkout master
4、把本地的0.2合并到master
git merge 0.2
5、把本地的master同步到远程
git push origin master

4.删除远程文件
1.git rm test.txt 从版本库中删除文件,本地文件也会删除
2.git commit -m “commit file test.txt”
3.git push origin master:chenjl master是本地分支,chenjl是远程分支

5.下载远程仓库指定分支到本地仓库
1.初始化本地仓库为git仓库
git init
2.本地仓库和远程仓库建立连接
git remote add origin git@github.com:1977288116/learngit.git
3.新建本地分支对应远程分支名
git checkout -b dev
4.远程分支拷贝到本地分支
git clone -b dev git@github.com:1977288116/learngit.git

6.撤回远程提交
1.查看提交历史
git log
2.返回上一个版本
git reset --hard f0dd038
3.推送到远程仓库
git push origin master:master --force
4.反撤回远程提交
git reset --hard 1094a
7.git撤销commit,但未git push的命令
在git push的时候,有时候我们会想办法撤销git commit的内容
1、找到之前提交的git commit的id
git log
找到想要撤销的id
2、git reset –hard id
完成撤销,同时将代码恢复到前一commit_id 对应的版本
3、git reset id

备注:
红色:只在项目里
绿色:已添加到暂存区
github和码云一样
文件同一目录新建.gitignore文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值