首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

git的装配以及常用操作

2013-10-22 
git的安装以及常用操作# ? (use git checkout -- file... to discard changes in working directory)#

git的安装以及常用操作

# ? (use "git checkout -- <file>..." to discard changes in working directory)
#
#modified: ? index.html
#
no changes added to commit (use "git add" and/or "git commit -a")
表明已经更改但是没有暂存
git add index.html
git status
结果:
# On branch master
# Changes to be committed:
# ? (use "git reset HEAD <file>..." to unstage)
#
#modified: ? index.html
#
然后进行提交:
git commit -m "add <head> and <title> to index" \
?? -m "This allows for a more semantic document" ? ? ? git的每次提交可以加入多个留言,每个留言另起一行,-m开头
git log命令可以快速的查看到留言的内容,通过参数-1可以限定输入的提交条目的个数
git log -1
commit 118901f00feb8eb7619b7a90b8c5c3c629fcbfd6
Author: sunhs <sunhs@m15.cn>
Date: ? Fri Jul 19 14:58:13 2013 +0800
? ??add in index?

3.分支(branch)

分支可以为要发布的代码保留一份拷贝,所以无需停止正在进行的开发
<1>创建分支
git branch RB_1.0 master创建分支命令为git branch需要两个参数,新分支名称和父分支名称
<2>检查分支
git checkout RB_1.0
<3>打标签
git tag 1.0 RB_1.0git tab 标签名打要标签的点
git tag查看版本库中的标签列表
<4>变基
git rebase RB_1.0变基命令:把一条分支上的修改在另一条分支的末稍重现
<5>删除分支
git brache -d RN_1.0

4.归档

git archive --format=tar \
?? ?--prefix=mysite-1.0/ 1.0 \
?? ?| gzip > mysite-1.0.tar.gz
git archive --format=zip \
?? ?--prefix=mysite-1.0/ 1.0 \
?? ?|mysite-1.0.zip

5.远程克隆版本库

git clone git://github.com/tswicegood/mysite.git mysite-remote
git clone 远程版本库的位置 存放该版本库的本地目录

6.添加文件到暂存区

暂存区的变更(stage change):工作目录树中那些打算提交到版本库的变更,暂存操作将会更新Git内部的索引
暂存区(staging):上面说到的索引常被称为暂存区

git add -i使用参数i会启动交互命令提示符,在这中方式下可以交互暂存新文件
git add -i
结果:
?staged ? ? unstaged path

*** Commands ***
??1: status??2: update??3: revert??4: add untracked
??5: patch??6: diff??7: quit??8: help
What now>?
共有1-9可供选择操作。

git add -p进入补丁模式
结果:
diff --git a/index.html b/index.html
index e812d0a..a65d25d 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
?<body>
?? ? <h1>Hello World!</h1>
?? ? <ul>
- ? ? ? ?<li><a href="bio.html">Biography</a></li>
+ ? ? ? ?<li><a href="bio.html">Biography:dsdsdsdsdsd</a></li>
?? ? </ul>
?</body>
?</html>
Stage this hunk [y,n,q,a,d,/,e,?]??
输入y选择文件块,然后该文件就处于暂存状态并准备提交

7.提交修改

对于提交命令git commit -m "the message"仅仅适合简短的留言,如果留言比较复杂,可以使用命令git commit来打 ??开编辑器来提交留言,提交的留言在编辑器中#表示注释
第一种提交方式:
git add file
git commit -m "message"
第二种提交方式:
git commit -m "message" -a
第三种提交方式:
git commit -m "message" file指定需要提交的文件名
当要用命令git add -p提交文件的一部份修改时,用先暂存后提交的方法比较合适,如果修改了多个文件时且需要提交其中的一个时,最好用第三种提交方式。

8.git别名

git config --global alias.ci "commit"?将命令git commit简化成git ci

9.查看修改的内容

git diff可以显示出工作目录数,暂存区及版本库之间的差异。
修改index.html文件,后执行git diff命令
结果:
diff --git a/index.html b/index.html
index a65d25d..9a7369d 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-<html>此行显示红色(-号表示被删掉啦)
+shtml>次行显示绿色(+号表示新增加的)
?<head>
?? ? <title>Hello World in Git</title>
?? ? <meta name="description" content="hello world in Git" />
注意:git diff命令不加任何的参数比较的是工作目录树与暂存区之间的区别

git diff --cached比较暂存区和版本库中的区别
结果:
diff --git a/index.html b/index.html
index e812d0a..a65d25d 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
?<body>
?? ? <h1>Hello World!</h1>
?? ? <ul>
- ? ? ? ?<li><a href="bio.html">Biography</a></li>(该行红色)
+ ? ? ? ?<li><a href="bio.html">Biography:dsdsdsdsdsd</a></li>(该行绿色)
?? ? </ul>
?</body>
?</html>
git diff HEAD?比较工作目录树(包括暂存和未暂存的修改)与版本库的差别
结果:
diff --git a/index.html b/index.html
index e812d0a..9a7369d 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-<html>(该行红色)
+shtml>(该行绿色)
?<head>
?? ? <title>Hello World in Git</title>
?? ? <meta name="description" content="hello world in Git" />
@@ -6,7 +6,7 @@
?<body>
?? ? <h1>Hello World!</h1>
?? ? <ul>
- ? ? ? ?<li><a href="bio.html">Biography</a></li>(该行红色)
+ ? ? ? ?<li><a href="bio.html">Biography:dsdsdsdsdsd</a></li>(该行绿色)
?? ? </ul>
?</body>
?</html>

10.管理文件

<1>文件的重命名
git mv <原文件名称> <新文件名称>重命名文件
git mv index.html hello.html
该命令告诉Git以原来的文件内容去创建新的文件,然后删除原来的文件,新文件中保留原文件的历史修改记录
<2>文件复制

<3>忽略文件
使用文本编译器可能对文本编译后产生.swp文件,这种文件是我们不希望上传到git上的,所以我们将这种文件统一上传到git的.gitignore中
也就是文件.*.swp上传到.gitignore中去

热点排行