Git基础命令

Git基础命令

一、Git可视化界面操作

1.更新线上代码到本地

1) Remote -> fetch-> 分支 从远程仓库哪个分支中获取更新,如果没有则只有主支。提示成功则改动的已经被存放到临时区了,你一会还需要进行合并操作,如果没有任何改动,则列表中是空的

2) merge->local merge 合并 – 本地合并  不管你本地有没有代码,fetch之后呢,是都要merge的,也就是说,fetch下来后,大大的代码还在一个小黑屋里,我们需要把它装到自己兜里。

2.上传本地代码到线上

权限不足

重新扫描 缓存改动 签名 提交 上传 》》一个一个挨着点完  

签名 区分不同开发人员的身份

二、Git命令窗口操作

1.$ git branch  命令可以显示所有本地分支

可以看到:first-repo这个仓库只有一个master分支。我们来创建dev分支,然后切换到dev分支上,如下操作:

git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令:

git branch dev

git checkout dev

git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。

2.更新线上代码到本地

$ git pull  

从远程获取最新版本并merge到本地

其实相当于git fetchgit merge

在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

3.上传本地代码到线上

1)$ git status -s  查看当前状态 -s简短的结果输出如果没加该参数会详细输出内容

git diff 

执行 git diff 来查看执行 git status 的结果的详细信息

尚未缓存的改动:git diff

查看已缓存的改动: git diff --cached

查看已缓存的与未缓存的所有改动:git diff HEAD

显示摘要而非整个 diff:git diff --stat

2)$ git add . 命令可将该文件添加到缓存

git add README hello.php  或

git add . 所有

add后改内容 需要重新add

3)$ git commit -m 提交备注

使用git add命令将想要快照的内容写入缓存区, 而执行 git commit将缓存区内容添加到仓库中。

Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以需要配置用户名和邮箱地址。

git config --global user.name 'runoob'

git config --global user.email test@runoob.com

4)$ git push 

这个命令的结果就是将本地分支master中commit的数据abc.txt上传到了远程绑定的master分支上了。

5)git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。命令格式如下:

git commit -a

6)git reset HEAD 命令用于取消已缓存的内容。

7)克隆线上已有代码到本地

git clone GitHub - 535977672/tp5: test and study

git clone https://github.com/jquery/jquery.git e:/myJQuery/

问题解决

Github的WebHooks实现生产环境代码自动更新

1. 现在的线上仓库比如 Github、Gitlab、Gitee 等都支持hook技术,可以很方便的实现代码的自动化管理

这里以我经常使用的 Github 为例,监听dev分支有push动作时,可以自动通过设置的hook通知生产环境中的脚本执行git pull拉取代码,自动更新

2. 强制更新

git fetch --all && git reset --hard origin/master && git pull

3. 权限问题

sudo chown -R www-data:www-data larv

4. git的时候每次都需要输入密码

git bash进入你的项目目录,输入:

git config [--global] credential.helper store

--global可选

再输入一次密码就可以了

5. .gitignore规则不生效的解决办法

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

6. 版本回退

6.1 git reset --hard 目标版本号”命令将版本回退

目标版本号 

6.2 git push -f 强制推上去

6.3 认证失败

 Coding 提示: Authentication failed.

认证失败,请确认您输入了正确的账号密码。

git config --system --unset credential.helper 清除信息

7.  git分支

查看当前使用分支(结果列表中前面标*号的表示当前使用分支)

git branch

创建并切换分支

git checkout -b fenzhi2

它是下面两条命令的简写:

git branch fenzhi2

git checkout fenzhi2

删除分支 -D强制删除

git branch -d fenzhi2

删除远程分支

git push origin :fenzhi2

分支上传到线上

git push --set-upstream origin fenzhi2

拉取远程分支到本地

git pull origin fenzhi12

切换回master

git checkout master  //修改后要commit后切换,否则修改内容会一并带到切换后的分支

合并指定分支到当前分支

git merge fenzhi2

取消合并

git reset --hard 【merge前的版本号】

拉取本地不存在的远程分支

git checkout -b 本地分支名 origin/远程分支名

合并提交次数

1. git rebase -i 版本号

第一个必须 pick

后面该为 s

vi清空内容命令 ggdG

全选(高亮显示):按esc后,然后ggvG或者ggVG

全部复制:按esc后,然后ggyG

全部删除:按esc后,然后dG

如果有冲突,修改冲突后

git add

//git commit无需提交

git rebase --continue

2. git push -f

拉取新分支

git checkout -b dev origin/dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值