Git基础命令

Git基础命令

一、Git可视化界面操作

1.更新线上代码到本地

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

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

2.上传本地代码到线上

权限不足

Git基础命令_第1张图片

Git基础命令_第2张图片

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

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

二、Git命令窗口操作

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

Git基础命令_第3张图片

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

Git基础命令_第4张图片

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基础命令_第5张图片

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

Git基础命令_第6张图片

 

3)$ git commit -m 提交备注

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

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

git config --global user.name 'runoob'

git config --global user.email [email protected]

Git基础命令_第7张图片

4)$ git push 

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

Git基础命令_第8张图片

Git基础命令_第9张图片

 

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

git commit -a

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

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

git clone https://github.com/535977672/tp5.git

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 目标版本号”命令将版本回退

目标版本号 

Git基础命令_第10张图片

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

切换回master

git checkout master

合并指定分支到当前分支

git merge fenzhi2

你可能感兴趣的:(git)