git command for use
original site(http://wenku.baidu.com/link?url=mNEhY-Z75gbW63N71g8S2WI6cI96eG3DC2IuDswSVjA94Y3Tf74_ZJfQUuO_-FtT9ieCrjY1gHVc0MGTEEqTt0H_S9iLuXQgEq2CHjpr_PG)
add
添加新文件到Git代码仓库的索引中
$git add filename
移动或重命名文件
$git mv old-filename new-filename
从工作目录和Git代码索引中删除文件
$git rm filename
查看目前工作目录的代码状态,自上次提交以来的添加、修改和删除等
$git status
查看自上次提交以来,本地代码改动的具体情况
$git diff
提交修改的代码(只是提交到本地的代码库,不会推送到服务器)
$git commit -am '修改说明'
如果觉得刚提交的“修改说明”写得不够好,可输入以下命令调整
$git commit --amend
将自上次push以来的,本地历次commit,推送到服务器
结合我们的实际,应该这样写:
$git push origin master:your-id
其中,master是本地的分支名;your-id填你在服务器上的id,服务器的版本库里会有以你的id为名称的分支。
将别人推送到服务器的代码,拉到你的机器里
$git pull
查看修改记录,含作者、时间、修改说明等
$git log
显示具体的代码改动情况
$git show
【TIP】gitlog 命令中,每条commit会有一长长的字符串,此即commidid,取其前面五六位即可。
$git show commit-id
分支管理
$git branch
$git branch 新分支名
$git branch -d 欲删除的分支名
【注意!】不要把‘-d’写成了‘-D’,危险!
-
-d:要求:被删除分支的所有修改,已经合并到当前分支;
-
-D:直接删除,未合并的代码,将被丢弃!
$git checkout file-name
$git checkout branch-name
【注意!】该命令可能伴随大量的文件增删/修改。Windows下,改动已被占用的文件可能会被拒绝,导致版本库出现严重问题。如果确实要这样做,安全起见,最好先注销一次。
合并指定分支到当前分支:
$git merge branch-name
还原已提交的修改(已经提交过的修改,可以反悔~)
$git revert HEAD
$git revert commit-id
先将未提交的修改暂存起来,接着清除所有改动,使之与没修改时一样。
若你正在开发功能A,又需立即去开发功能B。A的代码正改到一半,未认真整理,你不想立即提交。此时……请呼叫stash~。
$git stash
$git stash pop
【TIP】以上命令皆有更多参数,另有一些Git命令我们此处没有介绍。但是,这已足令你使用Git时游刃有余,你会觉得,Git简直是一件神器!:-)
【TIP】’$git help’ 与‘$git help 命令名’会在你需要的时候,无私地帮助你。:-)
假设执行操作:
1.修改代码2.git commit 3. git push
此时push失败(错误提示:![rejected] master -> master (non-fast-forward) )
解决办法:
$git pull
若成功,则:
$git push origin master:your-id
完事。
若失败(提示:CONFLICT(content): Merge conflict in 文件名),则:
冲突的文件会有类似下面的代码块:
<<<<HEAD
你修改的代码
============
其他人修改的代码
>>>>>commitid of others'
考虑你和他人对代码的修改,更新成合适的内容,并删除<<<、===、>>>3行标记符号,保存文件。
$git commit -am "resolve conflict" $ git push originmaster:your-id