| |||
目录
安装和配置
操作流程
打开现有工程
初始化(Git init)
添加(Git add)
忽略(.gitignore)
提交(Git commit)
上传(Git push)
获取远程代码(Git remote/fetch)
合并(Git merge)
查看log
可视化比较差异diff和合并merge
总结
Gitlab中的演示
添加(Git add)
添加并不是提交代码到远程Git库,Git也并不会你修改了代码它自动帮你保存你修改的每一个过程。你修改了很多文件,但未必所有的修改,最终打算提交上去,那么哪些是你打算提交的,你可以添加进来待会提交,叫做缓存改动。很简单,比如本地电脑上我有整个项目完整的东东,甚至包含了账号密码的一些文件,但是我只是ADD除账号密码之外的文件,并不缓存账号密码文件的改动。不被ADD它就不会参与后续的操作。通常我都会直接全部缓存,它会自动寻找所有有改动的文件,而不需要提交的文件放在忽略的文件夹中。(关于忽略下面我们就会说到)
获取远程代码(Git remote/fetch)
比如你在公司做好的东东,今夜难眠十分亢奋,回家准备继续搬砖,那咱们就在家里的电脑上,同上进行好各种安装配置账号,先把公司做好的东东嫩下来(不过公司是内网不可以,但是假如是Github上是可以的)。又或者和小伙伴一起开发个啥,你也要先fetch他的下来。至于怎么操作,下面上图。现在你只要知道,大大们下齿全露刷牙表情对你口口念念的fetch是个啥子~
先来设置与远程地址的关联,Git remote:
冲突处理(Conflict)
合并的过程中可能会出现一些红色的文件与一堆叹号,这时候慌慌张张的点啥它都不管用,不用担心,不是程序坏了,只是有冲突的文件,例如A童鞋写了width:1180px,你写了width:auto。那到底用你们谁的呢。
在GUI界面正文区,正文区右键可以选择,Use local version(使用本地版本)或Use remote version(使用远程版本),到底用你的还是小伙伴的?或者你也可以自己打开文件进行手动处理。
其他还有分支和一些高级功能,如果需要了解可以自己再摸索摸索,以上的操作已经可以满足简单的开发需求了。
5、从init commit 开始,分析:
从上图可知,右边的每一行文字描述,对应左边的一个小蓝点。(每一个小蓝点则代表一次提交或者一个tag),
因此点击右边文字描述he点击其对应的commit小蓝点效果一样。
注:不要别那些向上向下的箭头干扰,那个与右边的文字描述没有对应关系。
那么小箭头有什么作用呢?
图6-1
其实wish、stable/ice两个 分支是从tag 2014.1.1衍生出去、open juno dev 从2014.1.rc1衍生出去。
stable/juno从2014.2.1衍生出去。
转载于:https://my.oschina.net/tantexian/blog/645108
可视化比较差异diff和合并merge
Git对比与合并工具Beyond Compare的配置
windows下C:\Users\xxxx (xxxx是你登录的用户名)下有.gitconfig
后来突然想起来用户目录下(C:\Users\hongkenzhao)的.gitconfig看看配置情况,才发现原因。 打开配置文件看到的信息差不多是这样:
[diff]
tool = bc4
[difftool]
prompt = false
[difftool "bc4"]
cmd = \"c:/program files (x86)/beyond compare 4/bcomp.exe\"
.....
使用git bash是执行上述几个命令后,.gitconfig文件中并没有 \"$LOCAL\" \"$REMOTE\""的影子,所以使用difftool比对文件时,两边都是空白,因为根本就没有传参数进去。 所以换一个思路,不用命令设置,而是直接编辑.gitconfig文件设置,就没问题了。
.gitconfig文件新增如下配置并保存
[diff]
tool = bc4
[difftool]
prompt = false
[difftool "bc4"]
cmd = \"c:/program files (x86)/beyond compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc
[mergetool]
prompt = false
[mergetool "bc4"]
cmd = \"c:/program files (x86)/beyond compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
然后在git命令行中执行相关命令就ok啦
#比对当前文件相对于Head版本的改动
git difftool <file_name>
git difftool HEAD // 比较当前修改情况
#当merge <branch_name>提示冲突时,执行下面命令便可以调出bc合并冲突
git mergetool
是不是觉得so easy了呢,赶紧have a try!
补充:
1.GUI界面中中文乱码问题:Git安装目录,etc/gitconfig,添加如下,中文正常显示
[gui]
encoding = utf-8
2.GUI添加自定义命令
Tools - Add,名称填写菜单展示时的名称,Command填写命令,例如“git submodule foreach git pull origin master”更新公共库。勾选global为全局可用。
3.找不到文件BUG
这里补充一个问题,例如你新建了分支后,有可能出现新拉取的分支找不到的现象,请关闭GUI重新打开即可。
4.Windows下的多窗口命令行
下载powerCMD / cmder
添加环境变量;C:\Program Files\Git\cmd (改为你的实际路径)