赞
踩
一般工作流程如下:
1.从远程仓库中克隆 Git 资源作为本地仓库。
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区。
4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。
5. 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库
如果要在本地仓库中进行上传文件的话,一定要将文件放入到工作目录中去(工作目录就是你所建立本地仓库(Repository)的根目录)
直接选中TortoiseGit里面的版本库浏览器
右击工作目录中,然后点击Git Bash Here,然后再再命令窗口中输入git init即可;
使用TortoiseGit时只需要在目录中点击右键菜单选择“在这里创建版本库”
注意:创建完成本地仓库后,在此目录下回新添加一个“.git”的隐藏文件
$ rm -rf .git #删除本地仓库
添加完成后文件将进入暂存区,并没有提交到本地仓库,需要进行commimt提交,进行提交的时候一定要写日志内容(就是写修改了什么之类的)
①被版本库管理的文件不可避免的要发生修改,此时只需要直接对文件修改即可。修改完毕后需要将文件的修改提交到版本库
②修改完成后点击提交即可(记得在提交的时候写上日志)
在你误删文件还没有进行commit的时,可以通过还原将误删的文件进行还原过来
删除文件:直接进行文件的删除然后提交就可以了
空行或是以 # 开头的行即注释行将被忽略。 可以在前面添加正斜杠 / 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。 可以在后面添加正斜杠 / 来忽略文件夹,例如 build/ 即忽略build文件夹。 可以使用 ! 来否定忽略,即比如在前面用了 *.apk ,然后使用 !a.apk ,则这个a.apk不会被忽略。 * 用来匹配零个或多个字符,如 *.[oa] 忽略所有以".o"或".a"结尾, *~ 忽略所有以 ~ 结尾的文件(这种文件通常被许多编辑器标记为临时文件); [] 用来匹配括号内的任一字符,如 [abc] ,也可以在括号内加连接符,如 [0-9] 匹配0至9的数; ? 用来匹配单个字符。 看了这么多,还是应该来个栗子: # 忽略 .a 文件 *.a # 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件 !lib.a # 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO /TODO # 忽略 build/ 文件夹下的所有文件 build/ # 忽略 doc/notes.txt, 不包括 doc/server/arch.txt doc/*.txt # 忽略所有的 .pdf 文件 在 doc/ directory 下的 doc/**/*.pdf
选择保留本地文件。完成后在此文件夹内会多出一个.gitignore文件,这个文件就是文件忽略文件,当然也可以手工编辑。其中的内容就是把bin目录忽略掉。
直接在githup上新建一个远程仓库
SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题
右击鼠标点击Git Bash Here然后执行命令ssh-keygen-t rsa 生成公钥和私钥
执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥
将公钥复制到githup官网上的setting里面的SSH and GPGkeys里面
注意:在githup上创建仓库的时候会有提示命令(一般使用ssh方式比较简单)
①在仓库所在的目录(D:\computerTools\GitRepository\Repository\repo1)点击右键选择“Git Bash Here”,启动git bash程序
②然后在git bash中执行如下语句:
git remote add origin git@github.com:sublun/mytest.git
git push -u origin master
克隆远程仓库也就是从远程把仓库复制一份到本地,克隆后会创建一个新的本地仓库。选择一个任意部署仓库的目录,然后克隆远程仓库
$ git clone git@github.com:sublun/mytest.git
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1.git fetch:相当于是从远程获取最新版本到本地,不会自动merge(合并代码)
2. git pull:相当于是从远程获取最新版本并merge到本地
上述命令其实相当于git fetch 和 git merge
在实际使用中,gitfetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
如果使用TortoiseGit的话可以从右键菜单中点击“拉取”(pull)或者“获取”(fetch)
搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:
登录及内部命令操作
Linux命令 | 作用 |
---|---|
Ctrl + Alt | 快速清屏 |
cd | 切换目录 |
pwd | 查看用户当前的目录 |
cd. . | 回到上一级目录 |
cd ~ | 进入用户主目录的绝对路径名 |
ls | 显示文件或目录信息 |
ll | (ls -l)的别名,作用:显示当前目录下文件详细信息 |
mkdir | 在当前目录下创建一个空目录 |
cp | 复制文件或目录 |
rm | 删除文件或目录 |
cat | 查看文本文件内容 |
mv | 移动文件或目录、文件或目录改名 |
find | 查找文件或目录 |
chmod | 修改文件权限(例如:chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行) |
鼠标右击Linux页面 | 粘贴操作 |
以斜线(/)开头 | 到文件位置的完整说明,任何时候指定文件都可以使用 |
不以斜线(/)开头 | 指定相对于你当前工作目录而言的位置 |
使用TortoiseGit管理分支就很简单了
在本地仓库文件夹中点击右键,然后从菜单中选择“创建分支”:
如果想创建完毕后直接切换到新分支可以勾选“切换到新分支”选项或者从菜单中选择“切换/检出”来切换分支:
分支切换到dev后就可以对工作区的文件进行修改,然后提交到dev分支原理的master分支不受影响。例如我们修改mytest.txt中的内容,然后提交到dev分支。
切换到master分支后还是原理的内容:
将dev分支的内容合并到master分支,当前分支为master。从右键菜单中选择“合并”:
再查看mytest.txt的内容就已经更新了:
两个分支中编辑的内容都是相互独立互不干扰的,那么如果在两个分支中都对同一个文件进行编辑,然后再合并,就有可能会出现冲突。
例如在master分支中对mytest.txt进行编辑:
然后提交到版本库
切换到dev分支,对mytest.txt进行编辑:
最后进行分支合并,例如将dev分支合并到master分支。需要先切换到master分支然后进行分支合并
出现版本冲突
冲突需要动手解决
在冲突文件上单机右键选择“解决冲突”菜单项:
把冲突解决完毕的文件提交到版本库就可以了
选择File→Settings打开设置窗口,找到Version Control下的git选项
选择git的安装目录后可以点击“Test”按钮测试是否正确配置
1)在idea中创建一个工程,例如创建一个java工程,名称为idea-git-test,如下图所示
2)创建本地仓库
在菜单中选择“vcs”→Import into Version Control→Create Git Repository
选择工程所在的上级目录。本例中应该选择idea-projects目录,然后点击“OK”按钮,在工程的上级目录创建本地仓库,那么idea-projects目录就是本地仓库的工作目录,此目录中的工程就可以添加到本地仓库中。也就是可以把idea-git-test工程添加到本地仓库中。
选择之后在工具栏上就多出了git相关工具按钮:
3)将工程添加至本地仓库
直接点击commit按钮,将工程提交至本地仓库
然后点击“commit”按钮,将工程添加至本地仓库。
4)推送到远程
在github上创建一个仓库然后将本地仓库推送到远程。
在工程上点击右键,选择git→Repository→push
或者在菜单中选择vcs→git→pus
点击“Define remote”链接,配置https形式的URL,git形式的无法通过。然后点击OK
点击“push”按钮就讲本地仓库推送到远程,如果是第一次配置推送需要输入github的用户名和密码
关闭工程后,在idea的欢迎页上有“Check out from versioncontrol”下拉框,选择git
此处仍然推荐使用htts形式的url,点击“test”按钮后显示连接成功。
点击OK按钮后根据提示将远程仓库克隆下来,然后导入到idea中
如果需要从服务端同步代码可以使用工具条中的“update” 按钮
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。