Git常用指令

参考Git,PPT来源黑马Git(B站有资源),还有参考莫凡大佬
获取信息:git config --list --show-origin
获取名字:git config user.name
直接在一个空的文件夹使用Git bash here创建一个本地仓库(版本库):git init
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

工作区(Working directory)
基本的 Git 工作流程如下:

1.在工作区中修改文件。

2.将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区(索引)。

3.提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录(ppt中的本地仓库)

下面都是在git bash窗口下运行:
显示本地仓库的所有文件:ls -a
windows打开仓库中的文件(eg:打开.git):start .git(就会打开git这个文件夹了)
本地仓库创建一个空文件(eg:创建1.py):touch 1.py
查看仓库提交状态:git status

把工作区的py文件添加到暂存区中:git add 1.py
把刚刚到暂存区的文件(bush显示modified)提交到本地仓库:git commit -m"create 1.py"(m后面是写提示信息)

一、记录修改

查看提交(commit)的记录:git log
如果再对1.py进行修改的话,就变成了下图的从unmidified到了modified,要再次git add(修改后的文件都必须先git add再commit)到暂存区再git commit 到本地仓库…
在这里插入图片描述
查看修改后与commit的不同:git status -s
接着上一条语句输入:git diff可看修改和之前修改的区别内容

把所有文件都添加到暂存区:git add .

若add到暂存区输入git diff 看不到与上次的区别,这里要输入:git diff --cached

(非暂存区状态,unstated)若你上次add到暂存区还没commit又修改的话,那么他就是MM(一红一绿)了,看修改此时用:git diff HEAD

把所有的东西commit:先git add . 再git commit -m"提示"

二、回到从前

查看提交(commit)的记录(简洁版):git log --oneline
参考:莫凡Git回到从前

三、分支管理

参考:https://mofanpy.com/tutorials/others/git/branch/
查看提交(commit)的记录(简洁版+前面带个*):git log --oneline --graph

  1. 方法1(手动切换分支)

建立另一个分支 dev(自己命名的):git branch dev
查看有多少个分支:git branch(有*的代表你正在使用的)
切换到dev分支:git checkout dev
删除dev分支:git branch -d dev(前提要切换到master分支(git checkout master))

2.方法2(自动切换分支)
直接创建和切换到新建的分支:git checkout -b dev

因为当前的指针 HEAD 在 dev 分支上, 所以现在对文件夹中的文件进行修改将不会影响到 master 分支.
此时对dev进行修改:一键式(add+commit):git commit -am “提示内容”(前提有文件add了)
现在再切换到master:git checkout master会看不刚刚再dev的修改的

我们的开发板 dev 已经更新好了, 我们要将 dev 中的修改推送到 master 中, 大家就能使用到正式版中的新功能了.(合并后只是master变了,dev分支还是不变的)
首先我们要切换到 master, 再将 dev 推送过来.:git merge --no-ff -m “提示信息” dev1
再输入:git log --oneline --graph 可看到merge的图线

四、merge分支冲突

参考

今天的情况是这样, 想象不仅有人在做开发版 dev 的更新, 还有人在修改 master 中的一些 bug. 当我们再 merge dev 的时候, 冲突就来了. 因为 git 不知道应该怎么处理 merge 时, 在 master 和 dev 的不同修改.当创建了一个分支后, 我们同时对两个分支都进行了修改.

此时直接在master合并(git merge dev)会报出CONFLICT错误,要手动文件并删除》》》…也可以修改<<<到>>>的内容,此时为modified要add +commit:直接用:git commit -am “solve conflict(提示)”

五、rebase 分支冲突

参考

六、临时修改 (stash)

来自:https://mofanpy.com/tutorials/others/git/stash/

就是modified后还没add+commit就要处理别的事情用的,处理完别的事情再回来stash处理之前的事

从stash中拿出来:git stash pop

七、Github

在本地仓库的名字可以和github创立的仓库名可以不一样

1.1、以http上传代码到github某个仓库:
要输入github账户和密码
在这里插入图片描述

git remote add origin https://github.com/github账户/git_demo(github仓库名).git #(github直接复制就行,见上图)
git push -u origin master     # 推送本地 master 去 origin
git push -u origin dev        # 推送本地 dev(自己创的分支)  去 origin(没有该分支可以省略)

若你此时在master(git checkout master
)上修改1.py时,修完后git commit -am “change 2 in master(提示)”,再push到github:git push -u origin master
(interesting)(github上可以看history可以看修改的区别内容)

1.2、利用http克隆到本地
在这里插入图片描述
在你的电脑想要放的目录打开Git Bash here在输入下面:
git clone https://github.com/账号/git_demo.git(打开Github仓库的CORE有这个码)

2.SSH
把本地文件推送到github时:ssh要公钥和私钥(GUI才要),https要github的账号密码

设置ssh公钥私钥啥的:随便在一本地仓库打开Git bash here输入:ssh-keygen -t rsa然后一直回车生成:
在这里插入图片描述
然后把公钥复制进github(setting)中的ssh就行。
2.1、利用ssh把代码放到github
在这里插入图片描述
代码和上面http差不多

git remote add origin git@github.com:账户/tishi.git(去github复制)
git push -u origin master     # 推送本地 master 去 origin
git push -u origin dev        # 推送本地 dev(自己创

2.2使用SSH把代码克隆下来到自己电脑
在这里插入图片描述
git commit -m “xxxx” 文件名
git commit -m "xxx"不指定文件名的话,会把你暂存区所有的文件都commit上去。
克隆一份代码到本地仓库:
1.ssh:首先打开github把要下载代码的ssh码复制下来,打开一个本地空文件夹输入:
在你的电脑想要放的目录打开Git Bash here在输入下面:
git clone 粘贴(右键paste)刚刚的ssh码

  • 使用git命令拉取指定分支:
    命令:git clone -b develop 远程网址
    其中develop就是分支的名称

  • 如果本地的分支跟远程的分支不一样,则指定本地和远程的分支的名称:
    git push origin(远程仓库名) localBranchName:remoteBranchName(没有就会新建)

pull操作(参考:1

  • 1、将远程指定分支 拉取到 本地指定分支上:

    git pull origin <远程分支名>:<本地分支名> (和push相反)

  • 2、将远程指定分支 拉取到 本地当前分支上:

    git pull origin <远程分支名>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值