Git 使用命令總結

今天拜讀雪峯老師git教程作一些總結git

 

Git 使用命令shell

//初始化倉庫
git initvim

//設置用戶名密碼
git config --global user.name "Your Name"
git config --global user.email "you@example.com"bash

//添加文件到git倉庫 可反覆使用添加多個文件
git add <file>服務器

//提交文件
git commit -m "備註"app

//以彩色顯示改動狀態
git config [--global] color.ui truessh

//查看工做區狀態
git status 工具

//查看文件哪些內容被修改過
git diffui

//查看提交歷史記錄 參數[pretty=oneline] 簡化顯示信息
git log [ pretty=oneline]加密

//回溯到哪一個版本 HEAD 指當前版本;HEAD^ 指上一版本;HEAD^^上上版本 HEAD~100 上100個版本。。。
git reset --hard commit_id

//重回將來的哪一個版本,查看命令歷史,以便確認將來版本號commit_id
git reflog

//丟棄工做區修改時
git checkout -- <file>

//已提交到暫存區stages 想丟棄修改
git reset HEAD <file>
git checkout -- <file>

//刪除版本庫中的文件
git rm <file>

//從版本庫還原到工做區的版本 "一鍵還原"
git checkout -- <file>

//建立SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"

//關聯一個遠程倉庫 xx.git 遠程倉庫地址
git remote add origin xx.git

//第一次推送master分支的全部內容
git push -u origin master

//要克隆一個倉庫,首先必須知道倉庫的地址,而後使用git clone命令克隆。 Git支持多種協議,包括https,但經過ssh支持的原生git協議速度最快。
git clone xx.git

//查看分支
git branch

//建立分支
git branch <name>

//切換分支
git checkout <name>

//建立+切換分支
git checkout -b <name>

//合併某分支到當前分支
git merge <name>

//刪除分支
git branch -d <name>

//查看分支合併圖
git log --graph

//強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就能夠看出分支信息。
git merge --no-ff -m "備註" dev/*分支*/

//當手頭工做沒有完成時,先把工做現場git stash一下,而後去修復bug,修復後,再git stash pop,回到工做現場。
git stash //把手頭工做儲藏起來,幹完別的活後
git stash pop //回到手頭工做/*快捷鍵== git stash apply stash_id + git stash drop stash_id*/

//查看stash列表
git stash list

//強制刪除一個分支<name> 注意:當前位置不能在被刪除的分支上
git branch -D <name>

//查看遠程庫信息
git remote -v

//抓取遠程更新
git pull origin branch-name

//本地推送分支
git push origin branch-name

//在本地建立和遠程分支對應分支, 本地和遠程分支最好是同樣
git checkout -b branch-name origin/branch-name

//創建本地分支和遠程分支的關聯
git branch --set-upstream branch-name origin/branch-name

//建立一個新標籤 默認爲HEAD
git tag <name> [commit_id]

//查看全部標籤
git tag

//查看標籤信息
git show <tagname>

//建立帶有說明的標籤 -a 制定標籤名 -m 指定說明文字
git tag -a 版本號(v1.0) -m "備註" commit_id

//能夠經過 -s 用私鑰簽名一個標籤 私鑰須要安裝gpg加密工具並生成gpg私鑰
git tag -s 版本號 -m "備註" commit_id

//推送一個本地標籤
git push origin <tagname>

//推送所有爲推送過的本地標籤
git push origin --tags

//刪除一個本地標籤
git tag -d <tagname>

//刪除一個遠程標籤
git push origin :refs/tags/<tagname>

//忽略提交的文件
! 在與.git同級的根目錄下建立.gitignore文件,vim .gitignore 編輯你要忽略的文件。如 *.db,Desktop.ini 等

//配置別名
git config [--global] alias. 簡寫命令<如st> 命令/"" <如status/"reset HEAD">


搭建Git服務器

1,必須以roo身份

yum install git
adduser git
passwd git

2,切換用戶git, 建立倉庫
su git
選定一個目錄做爲Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令
$ sudo git init --bare sample.git
$ sudo chown -R git:git sample.git

3,建立證書登陸, 把項目組全部人的公鑰都收集
scp 項目組本地公鑰路徑/id_rsa.pub git@192.168.0.188(倉庫路徑)

4,把全部人的公鑰都寫入到/home/git/.ssh/authorized_keys文件裏,一行一個
cat id_rsa.pub<1> id_rsa.pub<2> ... >> .ssh/authorized_keys文件裏,一行一個

5,禁shell登陸
權限用戶root
vim /etc/passwd

把git:x:1001:1001:,,,:/home/git:/bin/bash
改成
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

6, 克隆遠程倉庫 server-->192.168.0.188<ip地址>
$ git clone git@server:/srv/sample.git

方便管理公鑰, 用Gitosis

 

 

配置Git時,加上 --global 對當前用戶起做用, 不加對當前倉庫起做用

每一個倉庫的Git配置文件都放在.git/config文件中

別名就在[alias]後面,要刪除別名,直接把對應的行刪掉便可

而當前用戶的Git配置文件放在用戶主目錄下的一個隱藏文件.gitconfig中

相關文章
相關標籤/搜索