{"id":364,"date":"2014-06-03T19:52:12","date_gmt":"2014-06-03T11:52:12","guid":{"rendered":"http:\/\/web.jofar.cn\/?p=364"},"modified":"2014-06-03T21:41:46","modified_gmt":"2014-06-03T13:41:46","slug":"git%e5%91%bd%e4%bb%a4%e5%8f%82%e8%80%83%e6%89%8b%e5%86%8c%e6%96%87%e6%9c%ac%e7%89%88","status":"publish","type":"post","link":"https:\/\/web.jofar.cn\/?p=364","title":{"rendered":"Git\u547d\u4ee4\u53c2\u8003\u624b\u518c(\u6587\u672c\u7248)"},"content":{"rendered":"<div>git init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u521d\u59cb\u5316\u672c\u5730git\u4ed3\u5e93\uff08\u521b\u5efa\u65b0\u4ed3\u5e93\uff09<\/div>\n<div>git config &#8211;global user.name &#8220;xxx&#8221; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u914d\u7f6e\u7528\u6237\u540d<\/div>\n<div>git config &#8211;global user.email &#8220;xxx@xxx.com&#8221; ? ? ? ? ? ? ?# \u914d\u7f6e\u90ae\u4ef6<\/div>\n<div>git config &#8211;global color.ui true ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? # git status\u7b49\u547d\u4ee4\u81ea\u52a8\u7740\u8272<\/div>\n<div>git config &#8211;global color.status auto<\/div>\n<div>git config &#8211;global color.diff auto<\/div>\n<div>git config &#8211;global color.branch auto<\/div>\n<div>git config &#8211;global color.interactive auto<\/div>\n<div>git clone git+ssh:\/\/git@192.168.53.168\/VT.git ? ? ? ? ? # clone\u8fdc\u7a0b\u4ed3\u5e93<\/div>\n<div>git status ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ??# \u67e5\u770b\u5f53\u524d\u7248\u672c\u72b6\u6001\uff08\u662f\u5426\u4fee\u6539\uff09<\/div>\n<div>git add xyz ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?# \u6dfb\u52a0xyz\u6587\u4ef6\u81f3index<\/div>\n<div>git add . ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?# \u589e\u52a0\u5f53\u524d\u5b50\u76ee\u5f55\u4e0b\u6240\u6709\u66f4\u6539\u8fc7\u7684\u6587\u4ef6\u81f3index<\/div>\n<div>git commit -m &#8216;xxx&#8217; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u63d0\u4ea4<\/div>\n<div>git commit &#8211;amend -m &#8216;xxx&#8217; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? # \u5408\u5e76\u4e0a\u4e00\u6b21\u63d0\u4ea4\uff08\u7528\u4e8e\u53cd\u590d\u4fee\u6539\uff09<\/div>\n<div>git commit -am &#8216;xxx&#8217; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ??# \u5c06add\u548ccommit\u5408\u4e3a\u4e00\u6b65<\/div>\n<div>git rm xxx ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ??# \u5220\u9664index\u4e2d\u7684\u6587\u4ef6<\/div>\n<div>git rm -r * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? # \u9012\u5f52\u5220\u9664<\/div>\n<div>git log ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u663e\u793a\u63d0\u4ea4\u65e5\u5fd7<\/div>\n<div>git log -1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ?# \u663e\u793a1\u884c\u65e5\u5fd7 -n\u4e3an\u884c<\/div>\n<div>git log -5<\/div>\n<div>git log &#8211;stat ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#?\u663e\u793a\u63d0\u4ea4\u65e5\u5fd7\u53ca\u76f8\u5173\u53d8\u52a8\u6587\u4ef6<\/div>\n<div>git log -p -m<\/div>\n<div>git show dfb02e6e4f2f7b573337763e5c0013802e392818 ? ? ? ? # \u663e\u793a\u67d0\u4e2a\u63d0\u4ea4\u7684\u8be6\u7ec6\u5185\u5bb9<\/div>\n<div>git show dfb02 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ??# \u53ef\u53ea\u7528commitid\u7684\u524d\u51e0\u4f4d<\/div>\n<div>git show HEAD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? # \u663e\u793aHEAD\u63d0\u4ea4\u65e5\u5fd7<\/div>\n<div>git show HEAD^ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ??# \u663e\u793aHEAD\u7684\u7236\uff08\u4e0a\u4e00\u4e2a\u7248\u672c\uff09\u7684\u63d0\u4ea4\u65e5\u5fd7 ^^\u4e3a\u4e0a\u4e24\u4e2a\u7248\u672c ^5\u4e3a\u4e0a5\u4e2a\u7248\u672c<\/div>\n<div>git tag ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? # \u663e\u793a\u5df2\u5b58\u5728\u7684tag<\/div>\n<div>git tag -a v2.0 -m &#8216;xxx&#8217; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u589e\u52a0v2.0\u7684tag<\/div>\n<div>git show v2.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793av2.0\u7684\u65e5\u5fd7\u53ca\u8be6\u7ec6\u5185\u5bb9<\/div>\n<div>git log v2.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ??# \u663e\u793av2.0\u7684\u65e5\u5fd7<\/div>\n<div>git diff ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u6240\u6709\u672a\u6dfb\u52a0\u81f3index\u7684\u53d8\u66f4<\/div>\n<div>git diff &#8211;cached ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ???# \u663e\u793a\u6240\u6709\u5df2\u6dfb\u52a0index\u4f46\u8fd8\u672acommit\u7684\u53d8\u66f4<\/div>\n<div>git diff HEAD^ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ?# \u6bd4\u8f83\u4e0e\u4e0a\u4e00\u4e2a\u7248\u672c\u7684\u5dee\u5f02<\/div>\n<div>git diff HEAD &#8212; .\/lib ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ?# \u6bd4\u8f83\u4e0eHEAD\u7248\u672clib\u76ee\u5f55\u7684\u5dee\u5f02<\/div>\n<div>git diff origin\/master..master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ?# \u6bd4\u8f83\u8fdc\u7a0b\u5206\u652fmaster\u4e0a\u6709\u672c\u5730\u5206\u652fmaster\u4e0a\u6ca1\u6709\u7684<\/div>\n<div>git diff origin\/master..master &#8211;stat ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u53ea\u663e\u793a\u5dee\u5f02\u7684\u6587\u4ef6\uff0c\u4e0d\u663e\u793a\u5177\u4f53\u5185\u5bb9<\/div>\n<div>git remote add origin git+ssh:\/\/git@192.168.53.168\/VT.git ? ? ? # \u589e\u52a0\u8fdc\u7a0b\u5b9a\u4e49\uff08\u7528\u4e8epush\/pull\/fetch\uff09<\/div>\n<div>git branch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u672c\u5730\u5206\u652f<\/div>\n<div>git branch &#8211;contains 50089 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u5305\u542b\u63d0\u4ea450089\u7684\u5206\u652f<\/div>\n<div>git branch -a ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u6240\u6709\u5206\u652f<\/div>\n<div>git branch -r ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u6240\u6709\u539f\u521b\u5206\u652f<\/div>\n<div>git branch &#8211;merged ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u663e\u793a\u6240\u6709\u5df2\u5408\u5e76\u5230\u5f53\u524d\u5206\u652f\u7684\u5206\u652f<\/div>\n<div>git branch &#8211;no-merged ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u663e\u793a\u6240\u6709\u672a\u5408\u5e76\u5230\u5f53\u524d\u5206\u652f\u7684\u5206\u652f<\/div>\n<div>git branch -m master master_copy ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u672c\u5730\u5206\u652f\u6539\u540d<\/div>\n<div>git checkout -b master_copy ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u4ece\u5f53\u524d\u5206\u652f\u521b\u5efa\u65b0\u5206\u652fmaster_copy\u5e76\u68c0\u51fa<\/div>\n<div>git checkout -b master master_copy ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u4e0a\u9762\u7684\u5b8c\u6574\u7248<\/div>\n<div>git checkout features\/performance ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u68c0\u51fa\u5df2\u5b58\u5728\u7684features\/performance\u5206\u652f<\/div>\n<div>git checkout &#8211;track hotfixes\/BJVEP933 ? ? ? ? ? ? ? ? ? ?# \u68c0\u51fa\u8fdc\u7a0b\u5206\u652fhotfixes\/BJVEP933\u5e76\u521b\u5efa\u672c\u5730\u8ddf\u8e2a\u5206\u652f<\/div>\n<div>git checkout v2.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u68c0\u51fa\u7248\u672cv2.0<\/div>\n<div>git checkout -b devel origin\/develop ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u4ece\u8fdc\u7a0b\u5206\u652fdevelop\u521b\u5efa\u65b0\u672c\u5730\u5206\u652fdevel\u5e76\u68c0\u51fa<\/div>\n<div>git checkout &#8212; README ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u68c0\u51fahead\u7248\u672c\u7684README\u6587\u4ef6\uff08\u53ef\u7528\u4e8e\u4fee\u6539\u9519\u8bef\u56de\u9000\uff09<\/div>\n<div>git merge origin\/master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u5408\u5e76\u8fdc\u7a0bmaster\u5206\u652f\u81f3\u5f53\u524d\u5206\u652f<\/div>\n<div>git cherry-pick ff44785404a8e ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u5408\u5e76\u63d0\u4ea4ff44785404a8e\u7684\u4fee\u6539<\/div>\n<div>git push origin master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u5c06\u5f53\u524d\u5206\u652fpush\u5230\u8fdc\u7a0bmaster\u5206\u652f<\/div>\n<div>git push origin :hotfixes\/BJVEP933 ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u5220\u9664\u8fdc\u7a0b\u4ed3\u5e93\u7684hotfixes\/BJVEP933\u5206\u652f<\/div>\n<div>git push &#8211;tags ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u628a\u6240\u6709tag\u63a8\u9001\u5230\u8fdc\u7a0b\u4ed3\u5e93<\/div>\n<div>git fetch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u83b7\u53d6\u6240\u6709\u8fdc\u7a0b\u5206\u652f\uff08\u4e0d\u66f4\u65b0\u672c\u5730\u5206\u652f\uff0c\u53e6\u9700merge\uff09<\/div>\n<div>git fetch &#8211;prune ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u83b7\u53d6\u6240\u6709\u539f\u521b\u5206\u652f\u5e76\u6e05\u9664\u670d\u52a1\u5668\u4e0a\u5df2\u5220\u6389\u7684\u5206\u652f<\/div>\n<div>git pull origin master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u83b7\u53d6\u8fdc\u7a0b\u5206\u652fmaster\u5e76merge\u5230\u5f53\u524d\u5206\u652f<\/div>\n<div>git mv README README2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# \u91cd\u547d\u540d\u6587\u4ef6README\u4e3aREADME2<\/div>\n<div>git reset &#8211;hard HEAD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u5c06\u5f53\u524d\u7248\u672c\u91cd\u7f6e\u4e3aHEAD\uff08\u901a\u5e38\u7528\u4e8emerge\u5931\u8d25\u56de\u9000\uff09<\/div>\n<div>git rebase<\/div>\n<div>git branch -d hotfixes\/BJVEP933 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u5220\u9664\u5206\u652fhotfixes\/BJVEP933\uff08\u672c\u5206\u652f\u4fee\u6539\u5df2\u5408\u5e76\u5230\u5176\u4ed6\u5206\u652f\uff09<\/div>\n<div>git branch -D hotfixes\/BJVEP933 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # \u5f3a\u5236\u5220\u9664\u5206\u652fhotfixes\/BJVEP933<\/div>\n<div>git ls-files ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ??? ? ? ??? ? ? ??? ? ? ? ???# \u5217\u51fagit index\u5305\u542b\u7684\u6587\u4ef6<\/div>\n<div>git show-branch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ?? ? ? ? ? # \u56fe\u793a\u5f53\u524d\u5206\u652f\u5386\u53f2<\/div>\n<div>git show-branch &#8211;all ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ? ??? ? # \u56fe\u793a\u6240\u6709\u5206\u652f\u5386\u53f2<\/div>\n<div>git whatchanged ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ??? ? ? ??? # \u663e\u793a\u63d0\u4ea4\u5386\u53f2\u5bf9\u5e94\u7684\u6587\u4ef6\u4fee\u6539<\/div>\n<div>git revert dfb02e6e4f2f7b573337763e5c0013802e392818 ? ? ? # \u64a4\u9500\u63d0\u4ea4dfb02e6e4f2f7b573337763e5c0013802e392818<\/div>\n<div>git ls-tree HEAD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ? ?? ? ? ??# \u5185\u90e8\u547d\u4ee4\uff1a\u663e\u793a\u67d0\u4e2agit\u5bf9\u8c61<\/div>\n<div>git rev-parse v2.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ??# \u5185\u90e8\u547d\u4ee4\uff1a\u663e\u793a\u67d0\u4e2aref\u5bf9\u4e8e\u7684SHA1 HASH<\/div>\n<div>git reflog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ??? ? ? ? ? ?# \u663e\u793a\u6240\u6709\u63d0\u4ea4\uff0c\u5305\u62ec\u5b64\u7acb\u8282\u70b9<\/div>\n<div>git show HEAD@{5}<\/div>\n<div>git show master@{yesterday} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? # \u663e\u793amaster\u5206\u652f\u6628\u5929\u7684\u72b6\u6001<\/div>\n<div>git log &#8211;pretty=format:&#8217;%h %s&#8217; &#8211;graph ? ? ? ? ? ? ? ? ? ?# \u56fe\u793a\u63d0\u4ea4\u65e5\u5fd7<\/div>\n<div>git show HEAD~3<\/div>\n<div>git show -s &#8211;pretty=raw 2be7fcb476<\/div>\n<div>git stash ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ??? ? ? ? ?? # \u6682\u5b58\u5f53\u524d\u4fee\u6539\uff0c\u5c06\u6240\u6709\u81f3\u4e3aHEAD\u72b6\u6001<\/div>\n<div>git stash list ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ??? ? ? ? ? ? ? ?# \u67e5\u770b\u6240\u6709\u6682\u5b58<\/div>\n<div>git stash show -p stash@{0} ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?? ? ? # \u53c2\u8003\u7b2c\u4e00\u6b21\u6682\u5b58<\/div>\n<div>git stash apply stash@{0} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?# \u5e94\u7528\u7b2c\u4e00\u6b21\u6682\u5b58<\/div>\n<div>git grep &#8220;delete from&#8221; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ? ? ? ? ? ?# \u6587\u4ef6\u4e2d\u641c\u7d22\u6587\u672c\u201cdelete from\u201d<\/div>\n<div>git grep -e &#8216;#define&#8217; &#8211;and -e SORT_DIRENT<\/div>\n<div>git gc<\/div>\n<div>git fsck<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u98ce\u9a9a\u7684\u5206\u5272\u7ebf&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/div>\n<div><span style=\"color: #404040;\">\u5b66\u4f1a\u8fd9\u4e9b\u547d\u4ee4\uff0c\u4f60\u5c31\u53ef\u4ee5\u719f\u7ec3\u7684\u4f7f\u7528Git\u5de5\u5177\u4e86\uff0c\u4ec0\u4e48\uff1f\u60f3\u7cbe\u901a\uff0c\u90a3\u662f\u4e0d\u53ef\u80fd\u7684\u3002<\/span><\/p>\n<p style=\"color: #404040;\">\u57fa\u672c\u4e0a\uff0cGit\u5c31\u662f\u4ee5\u4e0b\u9762\u7684\u547d\u4ee4\u987a\u5e8f\u5b66\u4e60\u7684\u3002\u6587\u4e2d\u7b14\u8bb0\u662f\u4ece\u5ed6\u96ea\u5cf0\u8001\u5e08\u7684<a style=\"color: #005fa9;\" href=\"http:\/\/www.liaoxuefeng.com\/wiki\/0013739516305929606dd18361248578c67b8067c8c017b000\" rel=\"nofollow\">Git\u6559\u7a0b<\/a>\u4e2d\u603b\u7ed3\u51fa\u6765\u7684\uff0c\u65b9\u9762\u67e5\u9605\u547d\u4ee4\u3002\u8be6\u7ec6\u539f\u7406\u8bf7\u770b<a style=\"color: #005fa9;\" href=\"http:\/\/www.liaoxuefeng.com\/wiki\/0013739516305929606dd18361248578c67b8067c8c017b000\" rel=\"nofollow\">Git\u6559\u7a0b<\/a>\u3002<\/p>\n<h4 style=\"color: #404040;\">1\u3001\u57fa\u7840<\/h4>\n<ul style=\"color: #404040;\">\n<li><code>git config --global user.name \"Your Name\"<\/code>\u8bbe\u7f6e\u4f60\u7684\u4ed3\u5e93\u7528\u6237\u540d\uff08\u7528\u4e8e\u6807\u8bc6\u63d0\u4ea4\u8005\uff09<\/li>\n<li><code>git config --global user.email \"email@example.com\"<\/code>\u8bbe\u7f6e\u4f60\u7684\u4ed3\u5e93\u90ae\u7bb1\uff08\u7528\u4e8e\u6807\u8bc6\u63d0\u4ea4\u8005\uff09<\/li>\n<li><code>git init<\/code>?\u521d\u59cb\u5316\u4e00\u4e2agit\u4ed3\u5e93<\/li>\n<li><code>git add --all<\/code>?\u6dfb\u52a0\u6240\u6709\u66f4\u6539\u7684\u6587\u4ef6<\/li>\n<li><code>git add filename1<\/code>?\u5f53\u7136\u53ef\u4ee5\u6307\u5b9a\u6dfb\u52a0filename1<\/li>\n<li><code>git commit -m \"commit message\"<\/code>?\u6dfb\u52a0\u66f4\u6539\u7684\u4fe1\u606f\uff0c\u5fc5\u987b\u8981\u6709\uff0c\u4e0d\u7136\u62a5\u9519\uff0c\u4e0d\u5efa\u8bae\u4e0d\u52a0\u3002<\/li>\n<li><code>git status<\/code>?\u67e5\u770bgit\u5f53\u524d\u72b6\u6001<\/li>\n<li><code>git diff filename1<\/code>?\u67e5\u770bfilename1\u5230\u5e95\u4fee\u6539\u4e86\u54ea\u4e9b\u5185\u5bb9<\/li>\n<li><code>git log<\/code>?\u67e5\u770b\u6700\u8fd1\u7684\u63d0\u4ea4\u65e5\u5fd7<\/li>\n<li><code>git log --pretty=oneline<\/code>?\u5355\u884c\u663e\u793a\u63d0\u4ea4\u65e5\u5fd7<\/li>\n<li><code>git reset --hard commitID<\/code>?\u5229\u7528<code>git log<\/code>\u5f97\u5230\u7684commitID\u8fd4\u56de\u7248\u672c<\/li>\n<li><code>git reset --hard HEAD^<\/code>\u56de\u5230\u4e0a\u4e00\u4e2a\u7248\u672c<\/li>\n<li><code>git reflog<\/code>?\u67e5\u770b\u547d\u4ee4\u7684\u5386\u53f2\uff0c\u53ef\u4ee5\u627e\u5230<code>git log<\/code>\u770b\u4e0d\u5230\u7684commitID\uff0c\u56e0\u4e3a<code>git log<\/code>\u53ea\u663e\u793a\u5f53\u524d\u7684\u63d0\u4ea4\u65e5\u5fd7\uff0c\u5982\u679c\u4f60\u63d0\u4ea4\u4e86\u4e00\u6b21\uff0c\u9000\u56de\u7248\u672c\u540e\u53c8\u540e\u6094\u4e86\uff0c\u5c31\u80fd\u67e5\u770b\u4e0a\u6b21\u63d0\u4ea4\u7684commitID<\/li>\n<li><code>git checkout -- filename1<\/code>?\u5229\u7528\u7248\u672c\u5e93\u4e2d\u7684\u7248\u672c\u66ff\u6362\u5de5\u4f5c\u533a\u4e2d\u7684\u6587\u4ef6\u3002\u529f\u80fd\u67092\uff1a\n<ul>\n<li>\u64a4\u9500\u6587\u4ef6\u4fee\u6539\uff0c\u5206\u4e24\u79cd\u60c5\u51b5\uff1a\n<ul>\n<li>\u64a4\u9500\u5de5\u4f5c\u533a\u4e2d\u7684\u4fee\u6539\uff08\u6ca1\u6709\u4f7f\u7528<code>git add<\/code>\u547d\u4ee4\u6dfb\u52a0\u5230\u6682\u5b58\u533a\uff09<\/li>\n<li>\u64a4\u9500\u6682\u5b58\u533a\u4e2d\u7684\u4fee\u6539\uff08\u6dfb\u52a0\u5230\u4e86\u6682\u5b58\u533a\u53c8\u505a\u4e86\u4fee\u6539\uff09<\/li>\n<\/ul>\n<\/li>\n<li>\u627e\u56de\u5220\u9664\u7684\u6587\u4ef6\n<ul>\n<li>\u5de5\u4f5c\u533a\u4e2d\u6587\u4ef6\u8bef\u5220\u4e86\uff0c\u53ef\u4ee5\u901a\u8fc7\u6b64\u547d\u4ee4\u4ece\u7248\u672c\u5e93\u4e2d\u627e\u56de<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><code>git reset HEAD filename1<\/code>?\u64a4\u9500add\uff0c\u56de\u5230\u5de5\u4f5c\u533a<\/li>\n<li><code>git rm filename1<\/code>?\u5220\u9664\u6587\u4ef6<\/li>\n<li><code>git remote add origin https:\/\/github.com\/pengloo53\/learngit.git<\/code>?\u5c06\u672c\u5730\u5e93\u5173\u8054\u5230github\u8fdc\u7a0b\u5e93\u4e0a<\/li>\n<li><code>git push -u origin master<\/code>?\u7b2c\u4e00\u6b21\u63a8\u9001\u7684\u65f6\u5019\u8981\u52a0\u4e0a<code>-u<\/code>\u53c2\u6570\uff0c\u53ef\u4ee5\u5c06\u672c\u5730\u5e93\u7684master\u5206\u652f\u4e0e\u8fdc\u7a0b\u5e93\u7684master\u5206\u652f\u5173\u8054\u8d77\u6765\uff1b\u4e0b\u6b21\u63d0\u4ea4\u5c31\u4e0d\u9700\u8981\u52a0<code>-u<\/code>\u4e86\u3002<\/li>\n<li><code>git clone https:\/\/github.com\/pengloo53\/learngit.git<\/code>?\u514b\u9686\u8fdc\u7a0b\u5e93\u5230\u672c\u5730<\/li>\n<\/ul>\n<h4 style=\"color: #404040;\">2\u3001\u5206\u652f\u7ba1\u7406<\/h4>\n<ul style=\"color: #404040;\">\n<li><code>git checkout -b dev<\/code>\u521b\u5efadev\u5206\u652f\u5e76\u5207\u6362\u5230dev\u3002\u76f8\u5f53\u4e8e<code>git branch dev<\/code>\u3001<code>git checkout dev<\/code>\u4e24\u6761\u547d\u4ee4\u3002<\/li>\n<li><code>git branch<\/code>\u67e5\u770b\u5f53\u524d\u5206\u652f<\/li>\n<li><code>git merge dev<\/code>\u5408\u5e76\u6307\u5b9a\u5206\u652f\u5230\u5f53\u524d\u5206\u652f\uff0c\u5982\uff0c\u4f60\u73b0\u5728master\u5206\u652f\uff0c\u90a3\u4e48\u6267\u884c\u547d\u4ee4\u5c31\u5c06dev\u5206\u652f\u5408\u5e76\u5230\u4e86master\u5206\u652f\u4e0a\u3002<\/li>\n<li><code>git branch -d dev<\/code>\u5220\u9664dev\u5206\u652f<\/li>\n<li><code>git log --graph --pretty=oneline --abbrev-commit<\/code>\u67e5\u770b\u5206\u652f\u5408\u5e76\u56fe<\/li>\n<li><code>git merge --no-ff -m \"merge with no-ff\" dev<\/code>\u7981\u7528\u300cFast forward\u300d\uff0c\u4e5f\u5c31\u662f\u4fdd\u7559\u5206\u652f\u7684\u76f8\u5173\u4fe1\u606f\u3002<\/li>\n<li><code>git stash<\/code>?\u5c06\u5de5\u4f5c\u533a\u73b0\u573a\u50a8\u85cf\u8d77\u6765\uff0c\u7b49\u4ee5\u540e\u6062\u590d\u540e\u7ee7\u7eed\u5de5\u4f5c\u3002\u901a\u5e38\u7528\u4e8e\u5904\u7406\u66f4\u4e3a\u7740\u6025\u7684\u4efb\u52a1\u65f6\uff0c\u4f8b\u5982\uff1abug\u3002<\/li>\n<li><code>git stash list<\/code>?\u67e5\u770b\u4fdd\u5b58\u7684\u5de5\u4f5c\u73b0\u573a<\/li>\n<li><code>git stash apply<\/code>\u6062\u590d\u5de5\u4f5c\u73b0\u573a<\/li>\n<li><code>git stash drop<\/code>?\u5220\u9664stash\u5185\u5bb9<\/li>\n<li><code>git stash pop<\/code>?\u6062\u590d\u7684\u540c\u65f6\u76f4\u63a5\u5220\u9664stash\u5185\u5bb9<\/li>\n<li><code>git stash apply stash@{0}<\/code>?\u6062\u590d\u6307\u5b9a\u7684\u5de5\u4f5c\u73b0\u573a\uff0c\u5f53\u4f60\u4fdd\u5b58\u4e86\u4e0d\u53ea\u4e00\u4efd\u5de5\u4f5c\u73b0\u573a\u65f6\u3002<\/li>\n<li><code>git branch -D feature-vulcan<\/code>?\u5f3a\u884c\u5220\u9664\u5206\u652f\u3002\u7528\u4e8e\u4e0d\u9700\u8981\u5408\u5e76\uff0c\u5c31\u5730\u5220\u9664\u7684\u60c5\u51b5\u3002<\/li>\n<li><code>git remote<\/code>?\u67e5\u770b\u8fdc\u7a0b\u5e93\u7684\u4fe1\u606f\uff0c\u4e00\u822c\u8fd4\u56deorigin\u3002<\/li>\n<li><code>git remote -v<\/code>?\u67e5\u770b\u8fdc\u7a0b\u5e93\u7684\u8be6\u7ec6\u4fe1\u606f\u3002<\/li>\n<li><code>git push origin master<\/code>?\u5c06\u672c\u5730master\u5206\u652f\u63a8\u9001\u5230\u8fdc\u7a0bmaster\u5206\u652f\u3002\n<ul>\n<li>master\u5206\u652f\u4e3a\u4e3b\u5206\u652f\uff0c\u56e0\u6b64\u8981\u65f6\u523b\u4e0e\u8fdc\u7a0b\u540c\u6b65\uff1b<\/li>\n<li>dev\u5206\u652f\u4e3a\u5f00\u53d1\u5206\u652f\uff0c\u56e2\u961f\u6210\u5458\u90fd\u9700\u8981\u5728\u4e0a\u9762\u5de5\u4f5c\uff0c\u6240\u4ee5\u4e5f\u9700\u8981\u4e0e\u8fdc\u7a0b\u540c\u6b65\uff1b<\/li>\n<li>bug\u5206\u652f\u53ea\u7528\u4e8e\u5728\u672c\u5730\u4fee\u590dbug\uff0c\u6ca1\u6709\u5fc5\u8981\u63a8\u9001\u5230\u8fdc\u7a0b\uff1b<\/li>\n<li>feature\u65b0\u529f\u80fd\u5206\u652f\u662f\u5426\u63a8\u9001\u5230\u8fdc\u7a0b\uff0c\u53d6\u51b3\u4e8e\u4f60\u662f\u5426\u548c\u5176\u4ed6\u4eba\u5408\u4f5c\u5728\u4e0a\u9762\u5f00\u53d1\u3002<\/li>\n<\/ul>\n<\/li>\n<li><code>git clone https:\/\/github.com\/pengloo53\/learngit.git<\/code>?\u5c06\u8fdc\u7a0b\u5e93\u514b\u9686\u5230\u672c\u5730\uff0c\u9ed8\u8ba4\u53ea\u80fd\u770b\u5230master\u5206\u652f\u3002<\/li>\n<li><code>git checkout -b dev origin\/dev<\/code>?\u521b\u5efa\u8fdc\u7a0bdev\u5206\u652f\u5230\u672c\u5730<\/li>\n<li><code>git pull<\/code>?\u5c06\u8fdc\u7a0b\u5206\u652f\u7684\u6700\u65b0\u5185\u5bb9\u6293\u53d6\u4e0b\u6765\u3002<\/li>\n<li><code>git branch --set-upstream dev origin\/dev<\/code>\u5c06\u672c\u5730dev\u5206\u652f\u4e0e\u8fdc\u7a0bdev\u5206\u652f\u4e4b\u95f4\u5efa\u7acb\u94fe\u63a5\u3002<\/li>\n<\/ul>\n<h5 style=\"color: #404040;\">\u591a\u4eba\u534f\u4f5c\u5de5\u4f5c\u6a21\u5f0f<\/h5>\n<ol style=\"color: #404040;\">\n<li>\u9996\u5148\uff0c\u53ef\u4ee5\u8bd5\u56fe\u7528<code>git push origin branch-name<\/code>\u63a8\u9001\u81ea\u5df1\u7684\u4fee\u6539\uff1b<\/li>\n<li>\u5982\u679c\u63a8\u9001\u5931\u8d25\uff0c\u5219\u56e0\u4e3a\u8fdc\u7a0b\u5206\u652f\u6bd4\u4f60\u7684\u672c\u5730\u66f4\u65b0\uff0c\u9700\u8981\u5148\u7528git pull\u8bd5\u56fe\u5408\u5e76\uff08\u5982\u679cgit pull\u63d0\u793a\u201cno tracking information\u201d\uff0c\u5219\u8bf4\u660e\u672c\u5730\u5206\u652f\u548c\u8fdc\u7a0b\u5206\u652f\u7684\u94fe\u63a5\u5173\u7cfb\u6ca1\u6709\u521b\u5efa\uff0c\u7528\u547d\u4ee4<code>git branch --set-upstream branch-name origin\/branch-name<\/code>\uff09;<\/li>\n<li>\u5982\u679c\u5408\u5e76\u6709\u51b2\u7a81\uff0c\u5219\u89e3\u51b3\u51b2\u7a81\uff0c\u5e76\u5728\u672c\u5730\u63d0\u4ea4\uff1b<\/li>\n<li>\u6ca1\u6709\u51b2\u7a81\u6216\u8005\u89e3\u51b3\u6389\u51b2\u7a81\u540e\uff0c\u518d\u7528<code>git push origin branch-name<\/code>\u63a8\u9001\u5c31\u80fd\u6210\u529f\uff01<\/li>\n<\/ol>\n<h4 style=\"color: #404040;\">3\u3001\u6807\u7b7e\u7ba1\u7406<\/h4>\n<ul style=\"color: #404040;\">\n<li><code>git tag v1.0<\/code>?\u7ed9\u5f53\u524d\u5206\u652f\u6253\u4e0a\u6807\u7b7e<\/li>\n<li><code>git tag<\/code>?\u67e5\u770b\u6240\u6709\u7684\u6807\u7b7e\uff0c\u6309\u65f6\u95f4\u987a\u5e8f\u5217\u51fa\u3002<\/li>\n<li><code>git log --pretty=oneline --abbrev-commit<\/code>\u7f29\u7565commitID\u5e76\u5355\u884c\u663e\u793a\u63d0\u4ea4\u4fe1\u606f<\/li>\n<li><code>git tag v0.9 commitID<\/code>\u901a\u8fc7\u4e0a\u4e00\u6761\u547d\u4ee4\u67e5\u770bcommitID\uff0c\u7136\u540e\u6253\u4e0a\u6807\u7b7e\u3002\u7528\u4e8e\u5fd8\u8bb0\u6253\u6807\u7b7e\u7684\u60c5\u51b5\uff0c\u56e0\u4e3a\u6807\u7b7e\u5176\u5b9e\u5c31\u662f\u53ea\u60f3\u67d0\u4e2acommitID\u7684\u6307\u9488\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6807\u7b7e\u6253\u5728\u6700\u65b0\u7684\u63d0\u4ea4\u4e0a\u3002<\/li>\n<li><code>git show v0.9<\/code>?\u67e5\u770b\u6807\u7b7e\u4fe1\u606f\u3002<\/li>\n<li><code>git tag -a v0.1 -m \"version 0.1 released\" commitID<\/code>\u521b\u5efa\u5e26\u6709\u8bf4\u660e\u7684\u6807\u7b7e\uff0c<code>-a<\/code>\u6307\u5b9a\u6807\u7b7e\u540d\uff0c<code>-m<\/code>\u6307\u5b9a\u8bf4\u660e\u6587\u5b57\u3002<\/li>\n<li><code>git tag -d v0.1<\/code>?\u5220\u9664\u6807\u7b7ev0.1<\/li>\n<li><code>git push origin v1.0<\/code>?\u63a8\u9001\u6807\u7b7e1.0\u5230\u8fdc\u7a0b<\/li>\n<li><code>git push origin --tags<\/code>?\u63a8\u9001\u6240\u6709\u7684\u6807\u7b7e\u5230\u8fdc\u7a0b<\/li>\n<li><code>git push origin :refs\/tags\/v0.9<\/code>?\u5220\u9664\u8fdc\u7a0b\u6807\u7b7e\uff0c\u4f46\u662f\u524d\u63d0\u662f\u8981\u5148\u5728\u672c\u5730\u5220\u9664\u5bf9\u5e94\u6807\u7b7e\u3002<\/li>\n<\/ul>\n<h4 style=\"color: #404040;\">4\u3001\u81ea\u5b9a\u4e49Git<\/h4>\n<ul style=\"color: #404040;\">\n<li><code>git config --global color.ui true<\/code>?\u8ba9Git\u663e\u793a\u989c\u8272<\/li>\n<li><code>.gitignore<\/code>\u5728\u8fd9\u4e2a\u6587\u4ef6\u91cc\u7f16\u8f91\u4f60\u8981\u5ffd\u7565\u7684\u6587\u4ef6\uff0c\u5e76\u63d0\u4ea4\u5230Git\u4e2d\uff0c\u5c31\u53ef\u4ee5\u5ffd\u7565\u7279\u6b8a\u6587\u4ef6\u7684\u68c0\u67e5\u3002\u5982\u5c06<code>*.db<\/code>\u5199\u5165<code>.gitignore<\/code>\u6587\u4ef6\u4e2d\uff0c\u5c06\u5ffd\u7565\u6240\u6709db\u6587\u4ef6\u3002\u53ef\u4ee5\u53c2\u8003<a style=\"color: #005fa9;\" href=\"https:\/\/github.com\/github\/gitignore\" rel=\"nofollow\">github\u6536\u96c6\u7684\u6240\u6709.gitignore<\/a><\/li>\n<li><code>git config --global alias.st status<\/code>\u5c06status\u7684\u522b\u540d\u8bbe\u7f6e\u6210st\uff0c\u90a3\u4e48<code>git st<\/code>=<code>git status<\/code>\u3002<\/li>\n<li><code>git config --global alias.unstage 'reset HEAD'<\/code>?\u90a3\u4e48<code>git reset HEAD filename<\/code>=<code>git unstage filename<\/code><\/li>\n<li><code>git config --global alias.last 'log -1'<\/code>?\u6572<code>git last<\/code>\u5c31\u663e\u793a\u6700\u540e\u4e00\u6b21\u63d0\u4ea4\u4e86\u3002<\/li>\n<\/ul>\n<h4 style=\"color: #404040;\">5\u3001\u642d\u5efaGit\u670d\u52a1\u5668<\/h4>\n<ol style=\"color: #404040;\">\n<li><code>sudo apt-get install git<\/code>?\u5b89\u88c5Git\uff1b<\/li>\n<li><code>sudo adduser git<\/code>?\u6dfb\u52a0Git\u7528\u6237\uff1b<\/li>\n<li><code>sudo git init --bare sample.git<\/code>?\u521d\u59cb\u5316git\u4ed3\u5e93\uff1b<\/li>\n<li><code>sudo chown -R git:git sample.git<\/code>\u4fee\u6539\u4ed3\u5e93\u7684\u6240\u5c5e\u7528\u6237\u4e3agit\uff1b<\/li>\n<li>\u5c06git\u7528\u6237\u7684\u4fe1\u606f<code>git:x:1001:1001:,,,:\/home\/git:\/bin\/bash<\/code>\u6539\u6210<code>git:x:1001:1001:,,,:\/home\/git:\/bin\/git-shell<\/code>\uff0c\u4e3a\u4e86\u7981\u7528shell\u767b\u5f55\u3002<\/li>\n<li><code>git clone git<a style=\"color: #005fa9;\" href=\"http:\/\/my.oschina.net\/server\" target=\"_blank\" rel=\"nofollow\">@server<\/a>?:\/director\/sample.git<\/code>?\u514b\u9686Git\u670d\u52a1\u5668\u4e0a\u7684\u4ed3\u5e93<\/li>\n<\/ol>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>git init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \u2026 <span class=\"read-more\"><a href=\"https:\/\/web.jofar.cn\/?p=364\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[33,35,36,32,37,19,38,34,18],"class_list":["post-364","post","type-post","status-publish","format-standard","hentry","category-git","tag-cloud","tag-css","tag-drupal","tag-git","tag-js","tag-mobile","tag-mysql","tag-server","tag-vps"],"_links":{"self":[{"href":"https:\/\/web.jofar.cn\/index.php?rest_route=\/wp\/v2\/posts\/364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.jofar.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/web.jofar.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/web.jofar.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/web.jofar.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=364"}],"version-history":[{"count":0,"href":"https:\/\/web.jofar.cn\/index.php?rest_route=\/wp\/v2\/posts\/364\/revisions"}],"wp:attachment":[{"href":"https:\/\/web.jofar.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/web.jofar.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/web.jofar.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}