Windows环境下Git配置及使用
Git下载地址https://git-scm.com/download/win
TortoiseGit下载地址https://tortoisegit.org/download
软件安装顺序为Git——>TortoiseGit——> TortoiseGit汉化(可选步骤)
如果没有特别注明,选择默认选项,下一步即可
2.1、安装Git
2.1.1、安装包下载完成后,双击进入安装界面
2.1.2、选择安装路径并点击"next"
2.1.3、选择安装模块,默认即可
2.1.4、next进入Git Setup界面,"Adjusting your PATH environment",选择默认值"Use Git Bash only"
2.1.5、next进入Git Setup界面,"Configuring the line ending conversions",选择换行格式,选择"Checkout as-is, commit Unix-style line endings"
2.1.6、选择操作终端
2.1.7、开始安装
2.2、安装TortoiseGit
2.2.1、双击安装程序,进入安装界面
2.2.2、两步next进入"Choose SSH Client"选择界面,选择"OpenSSH,Git default SSH Client"
2.2.3、选择安装模块及安装位置
2.2.4、next,进入"Ready to Install"界面,选择"Install"按钮开始安装过程,完成安装
2.3、TortoiseGit汉化(可选步骤)
2.3.1、双击对应安装TortoiseGit版本的语言包安装
2.3.2、点击"下一步"开始安装,安装完成勾选"Configure TortoiseGit to use this language"并点击完成
3.1、进入设置选项
在桌面空白处点击右键,右键菜单中会加入TortoiseGit快捷键,点击"设置"
3.2、常规设置
常规设置中,设置本机的git路径,即安装的git软件的启动目录
3.3、设置ssh路径
选择"Network"选项卡,设置SSH路径。SSH选择"TortoiseGitPlink.exe"
3.4、配置账户及地址
配置账户及地址,选择"Git"选项卡,查看提示,提示意味着权限问题,此权限需要联系管理员授权,授权的用户才能通过填写用户信息后从相应git版本库中获取和提交代码,
选择"配置源"为"全局",填写用户信息,设置用户名、邮箱和签名的密钥内容,如果暂时在本地使用就只需将用户名和邮箱添加,而"Signing key"会自动生成,此处的用户名和邮箱是管理员分配给您的
3.5、本机生成密钥
生成密钥的方式有两种,一种通过TortoiseGit来管理,另一种就是Bash界面,这两种方式同样用于管理Git项目
3.5.1、TortoiseGit界面生成密钥
找到安装的TortoiseGit启动栏或者安装路径对应的PuTTYgen快捷方式,点击打开
点击"Generate",选择加密算法并晃动鼠标生成密钥,公钥需要提供给管理员添加至git服务器,私钥保存到电脑的某个路径,不能删除
本机添加私钥,找到安装的TortoiseGit启动栏或者安装路径对应的Pageant快捷方式,点击打开
点击添加并找到上一步骤所保存的私钥
3.5.2、Git Bash生成密钥
电脑空白桌面右键选择"Git Bash Here",输入"ssh-keygen -t rsa -C "xxx@xxx.com" ",把里面的邮箱地址为自己的注册邮箱地址或者管理员分配的地址,邮箱要用英文的双引号引起来,一路回车即可
生成的密钥文件路径位于C:\Users\<用户名>\.ssh文件夹下,分为公钥和私钥,公钥名称为id_rsa.pub。同样的,需要把公钥需要提供给管理员添加至git服务器
4.1、命令行操作
1) 远程仓库相关命令
检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url —push[name][newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
git 中 clone 过来的时候,git 不会对比本地和服务器的文件,也就不会有冲突,建议确定完全覆盖本地的
时候用 clone,不确定会不会有冲突的时候用 git pull,将远程服务器的代码 download 下来
2)分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] —-注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] —-将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name]
我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
$ git push origin test:master // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
$ git push origin test:test // 提交本地test分支作为远程的test分支
如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
$ git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
3)版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
4) 子模块(submodule)相关操作命令
添加子模块:$ git submodule add [url] [path]
如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:$ git submodule init —-只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update —-每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)
1)$ git rm –cached [path]
2) 编辑".gitmodules"文件,将子模块的相关配置节点删除掉
3) 编辑".git/config"文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
5)忽略一些文件、文件夹不提交
在仓库根目录下创建名称为".gitignore"的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db
git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
更多命令行操作可以参考http://www.git-scm.com.cn/1093.html
4.2、TortoiseGit使用方法
Git客户端TortoiseGit(Windows系统)的使用方法与TortoiseSVN类似,可参考:
http://www.git-scm.com.cn/1311.html
4.3、Eclipse中配置使用GitLab
参考:
https://www.cnblogs.com/wxjnew/p/9146863.html
http://www.git-scm.com.cn/1295.html