Git使用技巧-常用命令
一、git 創(chuàng)建倉(cāng)庫(kù)
創(chuàng)建遠(yuǎn)端倉(cāng)庫(kù): git init – bare // 創(chuàng)建遠(yuǎn)端裸倉(cāng)庫(kù);
遠(yuǎn)端倉(cāng)庫(kù)別名: origin
本地倉(cāng)庫(kù): git clone …
demo
創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
1.創(chuàng)建git賬號(hào)和git用戶組
$ sudo adduser git #添加git用戶
$ sudo passwd git #添加git的密碼
$ sudo groupadd git #添加git用戶組
$ sudo usermod -G git git #添加git用戶到git用戶組
2.創(chuàng)建git倉(cāng)庫(kù)
// 創(chuàng)建倉(cāng)庫(kù)目錄
$ cd /srv # srv目錄下存放git的倉(cāng)庫(kù)
$ mkdir nginx-docs.git # 創(chuàng)建nginx-docs.git目錄
$ cd nginx-docs.git
// 初始化裸倉(cāng)庫(kù)
$ git init --bare # bare選項(xiàng)指示該倉(cāng)庫(kù)為裸倉(cāng)庫(kù)
// 修改倉(cāng)庫(kù)權(quán)限
$ sudo chown -R git:git /srv/nginx-docs.git # 修改權(quán)限為git用戶
3.禁止git用戶登錄shell,這樣git通過(guò)sh服務(wù)登錄會(huì)被拒絕(可選)
4. 創(chuàng)建本地倉(cāng)庫(kù)
比如在我的windows電腦創(chuàng)建本地倉(cāng)庫(kù)文件夾 然后打開git bash shell,輸入:
git clone git@47.106.79.26:/srv/nginx-docs.git
git clone user_name@remot_ipaddr:git倉(cāng)庫(kù)路徑
二、本地倉(cāng)庫(kù)常用命令
git status //查看文件的狀態(tài)
git add file_name //標(biāo)記文件
git rm -f
git status
git log
在workspce 中創(chuàng)建新的文件是未被追蹤的(untracked files)。
1. git add 用法
git add
通過(guò)git add
的方式把path目錄下的所有文件添加到git的暫存區(qū),當(dāng)然這些文件不包含已經(jīng)被刪除的文件。
作用范圍 workspac 和Index 之間。
實(shí)例
$ git add . # 將所有修改添加到暫存區(qū)
$ git add *.cpp **# 將以.cpp結(jié)尾的文件的所有修改添加到暫存區(qū)
$ git add hello* # 將所有以Hello開頭的文件的修改添加到暫存區(qū),例如: helloWorld.txt,hello.h,helloGit.md ...
$ git add hello?.* # 將以hello開頭后面只有一位的文件提交到暫存區(qū) 例如:hello1.txt,helloA.cpp 如果是helloGit.txt和hello.cxx是不會(huì)被添加的。**
2. 暫存區(qū)剔除文件
可以使用git rm -f 或者 git rm –cached 把文件從暫存區(qū)里移除,這個(gè)移除并不代碼把文件從磁盤上刪除了,只是說(shuō)不被git管理了而已。
git rm -f file_name
git rm -cached file_name
3. 代碼提交
暫存區(qū)代碼提交本地倉(cāng)庫(kù)
git commit 用法:
示例:
git commit -a -m “initial commit”, #把暫存區(qū)和當(dāng)前已被跟蹤的文件的所有的修改提交到倉(cāng)庫(kù)里,-m參數(shù)指定了此次提交的message內(nèi)容
git commit Makefile Logger.cpp –m “修改編譯錯(cuò)誤,添加了對(duì)log4cpp庫(kù)的依賴“ # 提交Makefile和Logger.cpp的修改
4.查看提交記錄
查看提交日志
git log
git log --stat
提交詳解
git commit
參數(shù):
-a 添加的-a參數(shù)會(huì)把當(dāng)前暫存區(qū)里所有的修改(包括刪除操作)都提交,但是那些尚未添加到暫存區(qū)的內(nèi)容是不會(huì)提交的
messge 格式:
message的格式:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Type指:
feat: 新特性
fix: 修改問(wèn)題
refactor: 代碼重構(gòu)
docs: 文檔修改
style: 代碼格式修改, 注意不是 css 修改
test: 測(cè)試用例修改
chore: 其他修改, 比如構(gòu)建流程, 依賴管理.
scope: commit 影響的范圍,即影響的模塊或者組件,比如: route, component, utils, build…
subject: commit 的概述, 建議符合 50/72 formatting
body: commit 具體修改內(nèi)容, 可以分為多行, 建議符合 50/72 formatting
footer: 一些備注, 通常是 BREAKING CHANGE 或修復(fù)的 bug 的鏈接,或者feature等等其余的信息.
git commit --amend
這也是我們經(jīng)常用的命令,他會(huì)把此次提交追加到上一次的commit內(nèi)容里。
三、 推送到遠(yuǎn)程分支
git push
git push命令用于將本地分支的更新,推送到遠(yuǎn)程主機(jī)。
格式
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
1. git push origin master
git push origin master //命令表示,將本地的master分支推送到origin主機(jī)的master分支。如果后者不存在,則會(huì)被新建。
如果當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略。
git push origin // 命令表示,將當(dāng)前分支推送到origin主機(jī)的對(duì)應(yīng)分支。
如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略。
git push
2. git push origin :master
git push origin :master # 等同于 git push origin --delete master
命令表示刪除origin主機(jī)的master分支。
總結(jié)
此片文章主要是講解常用的git 命令 及其案例文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-536213.html
參考
文章參考與<零聲教育>的C/C++linux服務(wù)期高級(jí)架構(gòu)系統(tǒng)教程學(xué)習(xí):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-536213.html
到了這里,關(guān)于1.Git使用技巧-常用命令1的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!