首页 > 代码库 > git学习-git status, git diff, git rm, git mv等文件操作命令解释。

git学习-git status, git diff, git rm, git mv等文件操作命令解释。

直接说每条命令了

git status是显示当前文件所处于的状态。


? /Users/alps/Sites/judianer/1 git:(master)>git status
On branch master
Your branch is up-to-date with ‘origin/master‘.

nothing to commit, working directory clean

这个是干净的情况,就是全部push都提交了,没有改动过的文件。

? /Users/alps/Sites/judianer/1 git:(master)>git status
On branch master
Your branch is ahead of ‘origin/master‘ by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean

这样的情况是git add和git commit之后。可是没有git push的时候。显示ahead of ‘origin/master‘的情况。

? /Users/alps/Sites/judianer/1 git:(master) ?>git status
On branch master
Your branch is up-to-date with ‘origin/master‘.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

这样的情况就是改动文件后。还没有git add的时候显示的情况,告诉你改动过了 README.md文件,能够git add来缓存上。


这里再说下git add命令。这个大家都非常熟悉,就是把文件增加到追踪目标里,然后我们把改动过的READMD.md给git add再git status就变成:

? /Users/alps/Sites/judianer/1 git:(master) ?>git add README.md
? /Users/alps/Sites/judianer/1 git:(master) ?>git status
On branch master
Your branch is up-to-date with ‘origin/master‘.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   README.md

这个就是追踪之后的,显示changes to be commited,这样就能够了。想要提交就git commit -m "modified README.md", 再git push origin master.


再说下git diff这个命令,这个事实上非常好理解。就是查看文件的不同。可是參数不同。查看的内容也不同。

假如不加不论什么參数。就是显示原始文件,和刚刚改动过后的文件(还没有git add。没有增加暂存区)的不同。

diff --git a/README.md b/README.md
index ed1d3e3..cc05995 100644
--- a/README.md
+++ b/README.md
@@ -5,3 +5,10 @@ just for fun.
 I want to do somthing.

 write by chen on 2014/07/24
+
+=========================
+If you have any advice.
+send email to me.
+chenfushan1992@gmail.com
+
+write by chen on 2014/07.24
(END)

就是这个样子的了。+号显示的是加入的行,-号显示的是删除的行。

假如增加暂存区了,(就是git add之后)。想查看能够用git diff --cached. 或者 git diff --staged这样即可了。


然后提一句。假如嫌git add麻烦,能够在直接git commit -a -m "commit content"这样直接提交~


git rm命令是用来删除文件的(之前的一篇博客里有讲)。这里仅仅说想要从远程仓库删除。可是要保留在本地文件夹。

所以就不不过git rm了,要加个參数 --cached

? /Users/alps/Documents/github/TinyOS_Code git:(master)>git rm --cached 1.txt
rm ‘1.txt‘
? /Users/alps/Documents/github/TinyOS_Code git:(master) ?>ls
1.txt         RssiFromRadio cc2420        ep2
README.md     RssiToRadio   ep1           ep3

这样就能够了~

最后git mv filefrom fileto

这个是更改名字功能。

相当于

mv filefrom fileto
git rm filefrom
git add fileto

就是git mv一条命令比較简单~~

大致就这些~ 等下次能够写下git rebase神马的~

git学习-git status, git diff, git rm, git mv等文件操作命令解释。