1. 程式人生 > 實用技巧 >git基本用法

git基本用法

文件地址: https://git-scm.com/book/zh/v2

##初次執行
git init  #(會在當前資料夾下生成.git檔案)
git remote add origin http://...................(遠端倉庫地址)
git pull origin master #(把遠端倉庫的.gitignore檔案拉取到本地目錄下,如果遠端目錄為空,.gitignore在本地專案下建立的則不需要執行git pull ...)(沒有設定使用者名稱密碼時,執行會彈出輸入使用者名稱和密碼,要用有管理員許可權的,否則push不上去)
git add .#(新增快取區)          
git commit -m "初始化程式碼"
git commit 時如果沒有設定郵箱和使用者名稱,會報錯讓你設定使用者名稱和郵箱(
            git config --global user.name "名字" 
            git config --global user.email "郵箱"
            (執行後會在C:\Users\Administrator生成.gitconfig檔案,要改時可以手動改)
            )
##git常用語句
1.git checkout -b dev	#建立分支並切換到分支

2. git branch -vv	#顯示每個(本地)分支當前指向的提交記錄的雜湊值,以及和其上游分支的相對位置(如果有的話)
   3.git branch -av	#顯示所有本地及遠端分支名
3. git branch --set-upstream-to dev remotes/origin/dev	#Git在本地新建分支後,可做遠端分支關聯。關聯目的是,如果在本地分支下進行pull 和push操作時 ,便不需要指定遠端的分支。
4. git pull origin dev:dev

6.git fetch origin develop : dev	#從develop分支每天更新程式碼

7.git add .
8.git status
9.git commit -m "修改程式碼"
10.git push origin dev:dev	#提交程式碼;git push origin 本地分支:遠端分支(":"左右沒有空格,遠端分支名不存在,則新建分支)

http://10.189.139.34:3000/SocialSecurityServiceGroup

##功能語句
git rm --cached README #從本地Git倉庫中刪除readme檔案,無論是已經commit的還是add的;
#如果一個檔案已經add到暫存區,還沒有 commit,此時如果不想要這個檔案了,用版本庫內容清空暫存區:
git reset HEAD #回退到當前版本(在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100);

git branch -d temp #刪除temp分支
#更新程式碼
git fetch origin develop:tmp	#在本地新建一個temp分支,並將遠端origin倉庫的master分支程式碼下載到本地temp分支
git diff tmp	#來比較原生代碼與剛剛從遠端下載下來的程式碼的區別
git merge tmp	#合併temp分支到本地的master分支
git branch -d temp	#如果不想保留temp分支 可以用這步刪除
##檢視最近提交的修改
Git show
#知道commit_id的情況下:

#1. 獲取commit_id
   git log 
#2. 檢視commit內容
   git show commit_id	[(如:git show 57f217c884a2e31a98a8f3fd2ce803b18bc479d4)檢視最近n次提交的修改]

git log -p <file> [檢視,誰在什麼時間修改了,指定檔案的哪些內容]

#回退到指定版本(會更改原生代碼)
git reset --hard commit_id     #退到/進到 指定commit的sha碼 commit_id:239afed0857cc2e77c17c01014077808619af64d
#回退指定檔案
git checkout HEAD <file_path> #回退到本地倉庫版本
git rm --cached <file_path> 刪除暫存區或分支上的檔案, 但工作區需要使用, 只是不希望被版本控制

git stash #能夠將所有未提交的修改(工作區和暫存區)儲存至堆疊中,用於後續恢復當前工作目錄;
git stash save "註釋" #作用同git stash,區別是可以加一些註釋
git stash list #檢視當前stash中的內容;
git stash pop #將當前stash中的內容彈出(堆疊中的內容會被刪除),並應用到當前分支對應的工作目錄上
git stash apply #作用同git stash pop,但堆疊中的內容不會被刪除;
git stash drop + 名稱 #從堆疊中移除某個指定的stash
git stash clear #清除堆疊中的所有內容
git stash show #檢視堆疊中最新儲存的stash和當前目錄的差異;

#修改最後一次提交的註釋資訊;
git commit --amend

#利用命令臨時去除Git remotes/origin/* 分支資訊(推薦)。
git remote prune origin