Git一些总结

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 图片总结

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180715G02WDC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券