دائىم ئىشلىتىلىدىغان Git كوماندىلىرى

Views: 426 2 باھا /

ھەمكارلىشىپ دېتال ئېچىش ئىشلىرىدا Svn ۋە Git قاتارلىق نەشر باشقۇرۇش سېستىمىلىرنىڭ ياردىمىدىدىن ئايرىلالمايمىز. يېقىندىن بۇيان بولۇپمۇ Git نىڭ ئىشلىتىلىشى تېخىمۇ كۆپ بولىۋاتىدۇ. ئالدىنقى قېتىم بىر يازمىمىزدا Github ئىشلىتىش ۋە ئاددى Git بۇيرۇقلىرى بىلەن تونۇشۇپ چىققان ئىدۇق:

تۆۋەندە تېخىمۇ ئىچكىرلىگەن ھالدا، كۆپ قوللىنىدىلىغان Git بۇيرۇقلىرى بىلەن تەپسىلىي تونۇشۇپ چىقىمىز.
ئادەتتە نورمال ئەھۋالدا تۆۋەندىكى رەسىمدىكىدەك، ئالتە خىل Git كوماندىسىنى ئىسىمىزدە ساقلىساقلا ئىھتىياجىمىزنى قامدىيالايمىز. بىراق، Git نى پىششىق ئىشلىتىش ئۈچۈن 6 ئەمەس 60 - 100 گىچە كوماندىنى ئىسىمىزدە ساقلاشقا توغرا كېلىدۇ.

VZZJvmq

تۆۋەندە مەن ئاددىي قىلىپ، دائىم ئىشلىتىلىدىغان Git كوماندىلىرىنى رەتلەپ چىقىمەن.

1. يىڭى كود ئامبىرى قۇرۇش

# نۆۋەتتىكى  Git تەڭشىكىنى كۆرسېتىش
# 显示当前的Git配置
$ git config --list
# Git تەڭشكىنى تەھرىرلش
# 编辑Git配置文件
$ git config -e [--global]
#  كود تاپشۇرغاندىكى ئىشلەتكۈچى ئۇچۇرلىرنى بەلگىلەش
# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

2. تەڭشەش

Git نىڭ تەڭشەك ھۆججىتى .gitconfig كومپىيۇتېر ئىشلەتكۈچى مۇندەرىجىسىدە(ئومۇمىي دائىرلىك) ياكى تۈر كود ئامبىرى مۇندەرىجىسىدە بولىدۇ.

# مەلۇم ھۆججەتنى  ۋاقىتلىق رايۇنغا قوشۇش
# 添加指定文件到暂存区
$ git add [file1] [file2] ...

#بەلگىلەنگەن مۇندەرىجىنى زاپاس رايۇنغا قوشۇش، ئىچىدىكى بالا مۇندەرىجىلەرنىمۇ ئۆز ئىچىگە ئالىدۇ
# 添加指定目录到暂存区,包括子目录
$ git add [dir]

# نۆۋەتتىكى مۇندەرىجىدىكى بارلىق ھۆججەتلەرنى ۋاقىتلىق رايۇنغا قوشۇش
# 添加当前目录的所有文件到暂存区
$ git add .

#خىزمەت رايۇنىدىكى مەلۇم ھۆججەتنى ئۆچۈرۈپ، ۋاقىتلىق رايۇنغا قويۇش
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...

# مەلۇم ھۆججەتكە بولغان نازارەتنى بىكار قىلىش، شۇنداقلا ئۇنى خىزمەت رايۇنىدا قالدۇرۇش
# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]

# ھۆججەتنىڭ ئىسمىنى ئۆزگەرتىش ۋە ئۇنى ۋاقىتلىق رايۇنغا ساقلاش
# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]

4. كود تاپشۇرۇش

# ۋاقىتلىق رايۇننى كود ئامبىرىغا تاپشۇرۇش
# 提交暂存区到仓库区
$ git commit -m [message]

#ۋاقىتلىق رايۇندىكى مەلۇم ھۆججەتنى كود ئامبىرىغا تاپشۇرۇش
# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]

# خىزمەت رايۇنىدىكى ئالدىنقى قېتىم يېڭىلانغاندىن كېيىنكى ئۆزگەرتىشلەرنى بىۋاستە ئامبارغا تاپشۇرۇش
# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a

# كود تاپشۇرغاندا بارلىق diff ئۇچۇرلىېىنى كۆرسىتىش
# 提交时显示所有diff信息
$ git commit -v

# ئامبارغا يېڭىلاش، ئەگەر ھېچقانداق ئۆزگىرىش بولمىغان بولسا نەشىر نومۇرىنىلا يېڭىلاش
# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]

# ئالدىنقى قېتىملىق يېڭىلاشنى تەكرارلاش، بەلگىلەنگەن ھۆججەتلەردىكى ئۆزگىرتىشلەرنىمۇ ئۆز ئىچىگە ئالىدۇ
# 重做上一次commit,并包括指定文件的新变化
$ git commit --amend   ...

5. شاخچە باشقۇرۇش

# بارلىق شاخچىلەرنى كۆرۈش
# 列出所有本地分支
$ git branch

# بارلىق يىراق مۇساپىلىك شاخچىلەرنى كۆرۈش
# 列出所有远程分支
$ git branch -r

# بارلىق يىراق مۇساپىلىك ۋە يەرلىك شاخچىلەرنى كۆرۈش
# 列出所有本地分支和远程分支
$ git branch -a

#يېڭى شاخچە قۇرۇش، لېكىن نۆۋەتتىكى شاخچىدە قىلىش
# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# يېڭى بىر شاخچە قۇرۇش ۋە ئۇنىڭغا ئالمىشىش
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]

# يېڭى بىر شاخچە قۇرۇش ۋە بەلگىلەنگەن يېڭىلاشقا توغۇرلاش
# 新建一个分支,指向指定commit
$ git branch [branch] [commit]

# يېڭى بىر شاخچە قۇرۇپ، بەلگلەنگەن يىراق مۇساپىلىك شاخچە بىلەن  ئىزلاپ مۇناسىۋەتلەشتۈرۈش
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

# بەلگىلەنگەن شاخچىگە ئالمىشىش ۋە خىزمەت رايۇنىنى يېڭىلاش
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# نۆۋەتتىكى شاخچە بىلەن بەلگىلەنگەن يىراق پۇساپىلىك شاخچە ئوتتۇرىسىدا ئىزلاپ مۇناسىۋەت قۇرۇش
# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]

# بەلگىلەنگەن شاخچىنى نۆۋەتتىكى شاخچىگە تۈجۈپلەش
# 合并指定分支到当前分支
$ git merge [branch]

# بىر يېڭلاشنى تاللاپ، نۆۋەتتىكى شاخچىگە بىرىكتۈرۈش
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]

# شاخچىنى ئۆچۈرۈش
# 删除分支
$ git branch -d [branch-name]

# يىراق مۇساپىلىك شاخچىنى ئۆچۈرۈش
# 删除远程分支
$ git push origin --delete 
$ git branch -dr 

6. خەتكۈش

# بارلىق خەتكۈشلەرنى كۆرۈش
# 列出所有tag
$ git tag

# نۆۋەتتىكى يېڭىلاشقا يېڭىدىن خەتكۈش قۇرۇش
# 新建一个tag在当前commit
$ git tag [tag]

# بەلگلەنگەن يېڭىلاشقا يېڭى خەتكۈش قۇرۇش
# 新建一个tag在指定commit
$ git tag [tag] [commit]

# خەتكۈش ئۇچۇرلىرىنى كۆرۈش
# 查看tag信息
$ git show [tag]

# بەلگىلەنگەن خەتكۈشنى تاپشۇرۇش
# 提交指定tag
$ git push [remote] [tag]

# بارلىق  خەتكۈشنى تاپشۇرۇش
# 提交所有tag
$ git push [remote] --tags

# يېڭى شاخچە قۇرۇپ، مەلۇم خەتكۈشكە قارىتىش
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]

7.ئۇچۇرلىرىنى كۆرۈش

# 显示有变更的文件
$ git status

# 显示当前分支的版本历史
$ git log

# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat

# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]

# 显示指定文件相关的每一次diff
$ git log -p [file]

# 显示指定文件是什么人在什么时间修改过
$ git blame [file]

# 显示暂存区和工作区的差异
$ git diff

# 显示暂存区和上一个commit的差异
$ git diff --cached []

# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD

# 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]

# 显示某次提交的元数据和内容变化
$ git show [commit]

# 显示某次提交发生变化的文件
$ git show --name-only [commit]

# 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]

# 显示当前分支的最近几次提交
$ git reflog
八、远程同步

# يىراق مۇساپىلىك ئامباردىكى بارلىق ئۆزگېرىشلەرنى چۈشۈرۈش
# 下载远程仓库的所有变动
$ git fetch [remote]

# بارلىق يىراق مۇساپىلىك ئارمبارلارنى كۆرۈش
# 显示所有远程仓库
$ git remote -v

# مەلۇم يىراق مۇساپىلىك ئامبارنىڭ ئۇچۇرلىرىنى كۆرسىتىش
# 显示某个远程仓库的信息
$ git remote show [remote]

# يېڭىدىن يىراق مۇساپىلىك ئارمبار قوشۇش ۋە ئىسىم قويۇش
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]

#يىراق مۇساپىلىك ئامباردىكى ئۆزگىرىشلەرنى ئېلىپ، يەرلىكتىكى شاخچىگە تۈجۈپلەش
# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]

# يەرلىكتىكى بەلگىلەنگەن شاخچىنى يىراق مۇساپىلىك ئامبارغا تاپشۇرۇش
# 上传本地指定分支到远程仓库
$ git push [remote] [branch]

# نۆۋەتتىكى شاخچىنى يىراق مۇساپىلىك ئارمبارغا مەجبۇرىي يوللاش، توقۇنۇش بولسىمۇ 
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force

# بارلىق شاىچىلەرنى يىراق مۇساپىلىك ئامبارغا يوللاش
# 推送所有分支到远程仓库
$ git push [remote] --all

9.ئەسلىگە قايتۇرۇش

# ۋاقىتلىق رايۇندىكى مەلۇم ھۆججەتنى خىزمەت رايۇنىغا ئەسىلىگە قايتۇرۇش
# 恢复暂存区的指定文件到工作区
$ git checkout [file]

# مەلۇم يېڭىلاشنىڭ ھۆججەتلىرىنى  خىزمەت رايۇنىغا ئەسلىگە قايتۇرۇش
# 恢复某个commit的指定文件到工作区
$ git checkout [commit] [file]

# ئالدىنقى قېتىملىق يېڭىلاشنىڭ بارلىق ھۆججەتلىرىنى خىزمەت رايۇنىغا  ئەسلىگە قايتۇرۇش
# 恢复上一个commit的所有文件到工作区
$ git checkout .

# ۋاقىتلىق رايۇندىكى بەلگىلەنگەن ھۆججەتنى ئەسلىگە قايتۇرۇپ، ئالدىنقى يېڭىلاش بىلەن بىردەك قىلىش، خىزمەت رايۇنىدىكىسى ئۆزگەرمەيدۇ
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]

#ۋاقىتلىق ۋە خىزمەت رايۇنىدىكى بارلىق ھۆججەتلەرنى ئەسلىگە قايتۇرۇپ، ئالدىنقى يېڭىلاش بىلەن بىردەك قىلىش
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard

#  نۆۋەتتىكى شاخچىنىڭ بەلگىلەنگەن يېڭىلىنىشىنى ئەسلىگە قايتۇرۇش، ۋاقىتلىق رايۇننى ئەسلىگە قايتۇرۇش، خىزمەت رايۇنىنى ساقلاپ قېلىش
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]

10. باشقىلار

# چۈشۈرۈش تەمىنلەشكە بولىدىغان  پىرس ھۆججىتى ھاسىللاش
# 生成一个可供发布的压缩包
$ git archive

بىر قىسىم ئاتالغۇرلارغا ئىزاھات

Workspace - خىزمەت رايۇنى - 工作区
Index / Stage - ۋاقىتلىق رايۇن - 暂存区
Repository - ئامبار(يەرلىكتىكى) - 仓库区
Remote - يىراق مۇساپىلىك ئامبار - 远程仓库

2 باھا »

  1. ھەۋەسكار
    ھەۋەسكار December 20th, 2015 at 12:21 am
    جاۋاب

    ھەجەپ تەشنا قىلدىڭىز

  2. ئۇيغۇربەگ
    ئۇيغۇربەگ January 2nd, 2016 at 06:10 pm
    جاۋاب

    ۋاي كۆزۈم، ۋاي كۆزۈم...