天天看點

常用指令

對于任何一個檔案,在 Git 内都隻有三種狀态:已送出(committed),已修改(modified)和已暫存(staged)

git init 初始化新項目
git status 檢視所有檔案狀态
git add  将檔案添加到暫存區
git commit 送出暫存區檔案
git log 檢視送出曆史
git config --global user.name "<name>“ 配置使用者姓名
git checkout –b feature dev 建立并切換到新功能分支
git add files 添加新檔案到暫存區
git commit –a –m ‘修改原因’ 将暫存區所有修改送出
git checkout dev 切換回開發分支
git merge –-no-ff feature  合并新功能分支
git brance -d feature  删除新功能分支
git pull origin dev 擷取并合并遠端伺服器最新代碼
git push origin dev 推送本地分支到遠端伺服器對應分支
git push origin --delete <branchName> 删除遠端分支
git push origin --delete tag <tagname> 删除tag

初始化配置

mkdir testproject

cd testproject

git init

touch README

git add README

git commit -m 'first commit'

git remote add origin [email protected]:test.git

git  pull  --rebase origin master

忽略一些檔案

.gitignore的檔案

git 復原單個檔案

#git log 找到要復原的commitID

#git checkout -m commitID  -- 檔案路徑(相對路徑)

擷取所有分支到本地

remote=origin;for remotebr in `git branch -r | grep $remote | grep -v master | grep -v HEAD `; do git checkout --track $remotebr ; done

添加遠端倉庫

git remote add $remotename git://url

推送所有分支到遠端倉庫

git push --all $remote

推送所有tags

git push --tag $remote

分支操作

看各個分支最後一個送出對象的資訊git branch -v

檢視哪些分支已被并入目前分支git branch --merge 

檢視尚未合并的工作 git branch --no-merged

使用-D強項删除分支

本地一個新的分支,上傳到遠端

git push origin test:test

删除遠端分支,本地仍會保留

$ git push origin :test

擷取遠端分支

git checkout -b release1.0.0 origin/release1.0.0

擷取不到遠端分支  

git remote show origin

git remote update

git fetch

git checkout -b local-name origin/remote-name

删除不存在對應遠端分支的本地分支

檢視分支狀況 git remote show origin

從本地版本庫中去除 git remote prune origin

本地配置

git config --global core.filemode false

git config --global core.safecrlf warn

git config --global core.autocrlf false

删除已經送出過的檔案

git rm --cached filename

#!/bin/sh

for fname in `find -maxdepth 5 -type d -regex '.*/[bB]in'`; do git rm -r --cached $fname ;done

for fname in `find -maxdepth 5 -type d -regex '.*/obj'`; do git rm -r --cached $fname ;done

for fname in `find -maxdepth 5 -type d -regex '.*/[Ll]og'`; do git rm -r --cached $fname ;done

恢複為上傳的送出