前言:之前公司一直使用svn作为版本管理工具,用习惯了svn后来切换git后就感觉很不方便,很多地方都要用命令完成。在网上查到很多git相关的操作,都是使用命令操作的,明明windows上安装了TortoiseGit都界面化了,为啥还是那么依赖黑窗口命令。
git的优势以及文件存储方式这里不细说,直接和svn对比起来说界面或工具怎么用的。
一、代码下载:
svn:右键点击SVN Checkout后输入文件路径就可以获得库里的代码。
git:右键点击Git Clone输入url即可
区别:svn能单独拉取某个目录的文件,git只能一个项目全部拉取(注意大文件需要git-lfs工具)。
二、更新代码:
svn:SVN Update即可,被删除的本地文件会恢复。
git:TortoiseGit 中Pull即可,删除的文件不会恢复。
问题
:
git怎样恢复删除的本地文件
?只需要右键->TortoiseGit->Switch/Checkout->勾选上Overwrite working tree changes(force)->OK即可,但是这样会把你的修改全部覆盖,所以要先备份先其它修改的文件。
三、提交代码:
svn:先update,再commit,最后提交即可。
git:先pull(很重要),再commit对比好文件后,选择Commit&Push提交本地仓库并推送远端仓库,如果你比较的过程中有人上库了,就会推送失败,这时关掉窗口,再pull一下,如果别提交的和你的不冲突的话,直接点下push就好了。冲突的话就要回退本地仓库在提交了。
小结:git比svn多了个本地仓库,比较前先pull很重要,有时pull时冲突很多,可以先将自己修改的文件备份下,然后用上面的恢复本地文件的办法强制同步,同步后再pull,然后把备份的文件拷贝回来,比较好了上库。
四、切换分支:
git不能拉取单独的文件夹,clone一个分支可能会花很长时间,最好直接切换分支就好,可视化操作:右键->TortoiseGit->Switch/Checkout->选择要切换的分支(如果找不到先关掉pull一下)->OK,如果切换时冲突,可以勾选上面提到的Overwrite working tree changes(force)强制覆盖,但之前的修改就没了。切换过分支会在本地有个仓库,名字默认和远端一样,只是少了些前缀,下次再切换是直接切本地仓库,然后pull下就行。
五、基本命令行操作:
在linux系统上,那就只能用命令行了,所以基础的几句还是要会的。
git pull:同步
git branch -a: 显示分支, -a 表示全部
git checkout +分支名:切换分支
强制覆盖本地文件:
git fetch - -all
git reset - -hard origin/master
通常我们在windows上编辑文档,在linux上git pull拉代码下来编译,如果linux修改了点代码导致git pull 失败,那就 git checkout -- . 执行以下,再git pull下就好了。切换到其它分支时如果也因为本地修改切换失败,就加 -f ,git checkout -f +分支名,切换完后git pull下。
六、总结:
git 有很多功能,不愿探索的话,会pull,commit, push,和checkout就够用了,冲突多的时候就先备份修改的文件,然后强制同步,同步完在拷贝回来比较上库就好了。注意大文件是用git-lfs管理的,特别是linux上要安装git-lfs才能拉取大文件。
git-lfs rpm包下载链接:
http://www.rpmfind.net/linux/rpm2html/search.php?query=git-lfs&submit=Search+...
前言:之前公司一直使用svn作为版本管理工具,用习惯了svn后来切换git后就感觉很不方便,很多地方都要用命令完成。在网上查到很多git相关的操作,都是使用命令操作的,明明windows上安装了TortoiseGit都界面化了,为啥还是那么依赖黑窗口命令。git的优势以及文件存储方式这里不细说,直接和svn对比起来说界面或工具怎么用的。一、代码下载:svn:右键点击SVN Checkout后输入文件路径就可以获得库里的代码。git:右键点击Git Clone输入url即可区别:sv.
首先,先更新代码,再提交代码,避免冲突,这是一个好习惯。
1.首先到要提交代码的
文件
路径下,右键,选择
Git
Stash Save,在弹框中填写Stash Message后点击“OK”。保存完成后close掉弹框。
2.右键,
Git
Show Log,点击左上角的分支名:
删除
本地
文件
后,想从远程仓库中从新Pull最新版
文件
。
Git
提示:up-to-date,但未得到
删除
的
文件
原因:当前本地库处于另一个分支中,需将本分支发Head重置至master.
git
checkout master
git
reset --hard参考资料
1.Why does
Git
say my master branch is “already up to date” even tho
git
更新代码失败error: The following untracked working tree files would be overwritten by
问题出现:
想要从主分支上拉取代码到本地的代码库中,突然出现代码拉取失败情况
本地代码和分支上的某些
文件
出现冲突,可在idea右下角的报错信息中点击view File 查看冲突的
文件
解决方案:
1、先将本地代码commit提交一下
2、在命令行页面执行指令
git
clean -d -fx , 作用:
删除
没有
git
add 的
文件
设置
git
config--global
设置贡献者
git
config --global user.name 和
git
config --global user.email
查看所有配置项
git
config --list
设置公钥 ssh-keygen -t rsa -C “您的邮箱地址” 在c相对应的路劲找到用记事本打开,粘贴到
git
hub上才能
git
cl...
从
Git
lab获取仓库到本地,本地仓库中某个
文件
不小心被
删除
,
恢复
操作如下:
1、在
git
文件
夹右键tortorise
git
--》show log
2、选择版本(当时执行
删除
操作的版本)
3、选择被delete掉的
文件
,需要
恢复
的
文件
(可多选)
4、右键选择“Revert ”
点击
删除
后出现弹框,点击
删除
删除
后会显示移除一个
文件
;想要还原可以在当前
文件
夹中右键选择
TortoiseGit
> 还原(revert)
继续说
删除
,
删除
成功后右键commit,会看到刚刚
删除
的
文件
,正常commit push就可以了
......
上一个教程中介绍了
git
在
使用
之前的环境搭建,包括账号的注册以及
git
工
具
和
TortoiseGit
工
具
的安装和基本配置,本文主要讲解如何在本地取回在远程服务器端的
文件
,以及提交新
文件
以及更新原
文件
。
1、创建目录(本地无
Git
Hub上的目录,首次创建)
为了保证本地目录与远程
git
hub上的目录一致,第一次
使用
时,需
使用
TortoiseGit
中的clone(克隆)与远程目录进行同步,操作步骤如下,选择本地磁盘下的某一目录,本文在E盘下新建了一个
文件
夹
git
,进入
git
文件
夹后点击鼠标右键选...
这三大部分中:
working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:是索引
文件
,它是连接working tree和commit的桥梁,每当我们
使用
git
-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:是最后的阶段,只有co
对于
Git
的可视
化工
具
,有多种选择,以下是一些推荐的工
具
:
1. SourceTree:SourceTree是一款免费的
Git
和Mercurial版本控制工
具
,提供了直观的
界面
和强大的功能,支持Windows和Mac系统。
2.
Git
Kraken:
Git
Kraken是一款跨平台的
Git
客户端,
具
有可视化
界面
和强大的功能,支持Windows、Mac和Linux系统。
3.
Git
Hub Desktop:
Git
Hub Desktop是
Git
Hub官方推出的
Git
可视
化工
具
,适用于Windows和Mac系统,提供了简洁易用的
界面
,方便进行版本控制操作。
4.
TortoiseGit
:
TortoiseGit
是一款集成到Windows资源管理器的
Git
客户端,通过右键菜单提供了方便的操作方式,适用于Windows系统。
这些工
具
都提供了直观的
界面
和易于
使用
的功能,你可以根据自己的需求选择适合自己的工
具
。