Git总结,最后面会附上一张图,安装图上的内容进行操作。在网上查询了Git命令后总结的。
Git本地
初始化
把当前文件夹初始化为Git 仓库,当开启隐藏文件后,会有一个.git的隐藏文件夹
git init
设置用户名:加global是全局的意思
git config user.name"wanghao"git config--globaluser.name"wanghao"
设置用户邮箱:加global是全局的意思
设置全局你的编辑器(Your Editor):
git config --globalcore.editor"emacs"
查看自己的设置:
git config --list
解决bash 控制台ls 命令中文乱码
解决bash 控制台git commit无法输入中文注释
解决git log 命令中文注释乱码(只bash 控制台好用)
解决 gitk 显示中文注释乱码
Git解决乱码
设置仓库需要忽略的文件,在项目根目录下创建一个名为.gitignore的文件
在命令行执行 echo >.gitignoregit base下的命令如下:touch .gitignore
文件的格式如下:
#此行为注释,不会起作用filename.txt #忽略项目下所有名为filename.txt的文件*.html #忽略项目下所有名为html结尾的文件!except.html #取消对except.html的忽略all #忽略所有的all名的文件夹all/#忽略所有的all下的文件夹,包括子目录/all #忽略当前文件夹下的all文件夹,不包括子目录
设置本地提交需要忽略的文件,修改.git/info/exclude 文件
例如:*.[oa]等价于*.o和*.a 即:可使用正则
例图:
添加文件到版本库,或者添加文件到‘暂存区’,下面例子用到add 与status 命令。
注:下面命令都是克隆远程仓库进行操作的。克隆命令为:
git cloneurl
git add file 添加单个文件git add*.txt 添加以.txt结尾的文件git add . 添加所有文件git status 查看git仓库状态,当前仓库git rm--cached file1 撤销添加到暂存区的file1文件
提交所有修改,提交单个文件,下面例子用到的命令有:
git add *添加所有修改到暂存区或者版本库git commit-m"提交单个文件file1"file1 提交单个文件,-m后面的为注释git commit-m"提交一群文件file 2-5"-a 提交暂存区所有文件, -a
提交修改文件,增量提交文件,还原文件。下面用到的命令有:
git log #查看提交历史git add*#添加所有修改到暂存区git commit-m"提交file2"file2 #提交单个文件git commit-m"增补提交"-a --amend #增补提交并提交全部暂存区文件git show id #显示提交详情git reset id #完成Commit命令的撤销,但是不对代码修改进行撤销,不会影响本地代码git reset--hard id #把仓库还原跟服务器id版本一样的状态,会影响本地文件或者代码,视频最后没有执行完,
git分支管理
下面用到的命令有:
git branch #查看本地分支git branch dev #新建本地分支git branch-a #查看本地及远程分支git checkout dev #拉取并进去dev分支git status #查看分支状态git push origin dev #推送dev分支的改变git branch-m dev develop #重新命名dev分支为develop分支git push-d origin dev"删除分支并推送,慎用,或者拆开使用" #删除远程分支git branch-d dev #删除本地分支
Git分支合并及提交
可以查看我另一篇文章——点击进入 Bug分支并合代码
基础的暂时到这里算是结束了。下面贴一张图片,有什么不清楚的,可以一起讨论。
图片如果不清楚的话,可以另存到本地查看。导出的时候已经是最大导出了。
Git 远程操作部分总结
朋友吐槽说总结的太少,太没用了。应朋友要求,对于远程的操作。进行部分总结。
注:远程操作不按图片来,随意扔几个常用的总结。
其实Git感觉Merge的时候解决冲突挺麻烦的也是难点。一般都用第三方可视化工具。所以远程操作Git我就直接用IDEA与命令行结合操作了。
首先我克隆下来一个文件夹,并新建项目:
git cloneurl
项目结构如图所示:分为java与Python的简单练习项目。
如下图所示,我创建了三个分支:
然后我进行修改dev文件并提交:如下图所示,很容易看出来,我修改了两个文件,和修改的内容。然后我去rc再进行这两个文件的修改。
切入Rc分支,进行文件的修改。
然后修改文件并提交:查看Log可以很容易看出来,我修改了和dev一样的两个文件。并且内容不一样。
下面进行Merge操作:从rcMerge到dev,因为我修改了相同的文件,所以肯定会出现冲突。这时候就要修改冲突了。
下面Merge的时候我使用IDEA进行Merge。
因为我是从rcMerge到dev 的,所以我先切入dev进行代码更新。
然后选择IDEA的Merge窗口:选择远程rc,
点击Merge,然后出现下面窗口,提示有冲突:
点右边的窗口下面Merge进行冲突解决。
可以选择右下角的,Accept Left 或者Accept Right,都理解意思。也可以直接点击Apply选择结果版本。也可以点击→拷贝左边版本,或者拷贝右边版本。
我这边就直接修改结果版本了。因为我不想我的Hello Word有什么数字。如图所示我把结果版本改为我想要的,然后点击Apply
然后用同样的方法进行下一个文件的冲突解决。同样进行结果的修改。
然后点击Apply,
然后在进行commit:
Push
上面就是简单的Merge与解决冲突。
工具也是仁者见仁智者见智。我这里使用的IDEA多一点,或者用SourceTree。以后补一个SourceTree的Merge与冲突解决。暂时总结Git基础就到这里了。
Git 图片总结
领取专属 10元无门槛券
私享最新 技术干货