Git的环境安装与使用

创建时间:2018/3/25 0:37:47
关键字:Git、 TortoiseGit

Git简介

Linus的第二个伟大作品

分布式,强调个体,速度快,灵活,已解决冲突,离线工作,每日工作备份

1 Git环境搭建

服务器基本搭建在Linux上。Windows上安装Git-1.7.9-preview20120201。

基本都是用默认选项,几个重要的界面选项如下:

使用默认的组件, 点击Next, 下一步

选择Git的命令行模式, 选择默认Git Bash 模式会创建一个快捷命令行, 点击Next下一步.

Finish 安装完成, 桌面会生成一个快捷图标。

 

2 Git使用

2.1 Git常用命令

2.1.1 创建git资源库

git init --bare <库名称>

kl@KINGLONG ~

$ cd /e/WorkData/code/gitcode

kl@KINGLONG /e/WorkData/code/gitcode

$ git init --bare openprj

Initialized empty Git repository in e:/WorkData/git/openprj/

2.1.2 clone资源

1.从用户文件夹clone资源

git clone <仓库目录>  <用户目录>

注意:clone时候用户目录必须为空

例如:$ git clone /e/WorkData/git/openprj .

2.从远程仓库clone资源

以从github上clone资源为例。

Git能在多种协议下使用,Git URL可能以ssh://, http(s)://, git://为前辍。

git://协议较为快速和有效,但有可能被公司的防火墙阻止(非http访问请求)。

例如,Git本身的源代码可以用 git:// 协议来访问:

git clone git://github.com/kinglong198404/android-architecture.git

也可以通过http 协议来访问:

git clone https://github.com/kinglong198404/android-architecture.git

2.1.3 添加文件到版本控制

git add <文件名>

git status  //查看状态信息 可看到readme.txt 的红色警告

git add readme.txt

2.1.4 提交到本地版本库

定位到master目录:cd /e/WorkData/code/gitcode/android-architecture

提交所有文件:git commit -m "提交到本地仓库"

如果报以下错误,删除index.lock文件后再提交:rm -f ./.git/index.lock

Unable to create 'E:/workdata/code/gitcode/android-architecture/.git/index.lock': File exists.

 

git commit <文件名> 或git commit

git commit readme.txt

 

要填写修改说明 按i 进入编辑模式,填写完成按esc退出编辑模式,然后按:wq保存

git commit -m “commit a file” readme.txt //带上修改注释

git commit -m “commit all files” //带上修改注释

 

2.1.5 推送到远程共享版本库

git push origin master

git push /e/WorkData/git/openprj master

2.1.6 拉取最新的文件  

git pull

2.1.7 删除目录或文件

git rm -r --cached framework  # --cached不会把本地的framework目录删除

git commit -m 'deleted a folder'

git push -u origin master

 

2.2 git pull冲突解决

$ git pull

remote: Counting objects: 5, done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (3/3), done.

From g:/software/repository/git/itheima26

   50db030..a04027a  master     -> origin/master

Auto-merging readme.txt

CONFLICT (content): Merge conflict in readme.txt

Automatic merge failed; fix conflicts and then commit the result.

 

解决方法:

1.git mergetool

调用上面命令之后会提示你输入编辑方法,输入:beyond compare 进入编辑器.

2.编辑完之后.调用git commit -a 把当前目录中所有都提交到本地库中.

3.git push origin master 提交到远程库中.

 

3.TortoiseGit使用

运行TortoiseGit-1.7.7.0-32bit.msi,按默认选项安装。

创建仓库:

Clone项目:

 

创建文件,add

提交内容:

Push到服务器:

点击空白地方(不是文件),右键菜单,选择TortoiseGit->Push

Pull从服务端获取代码: