Git 是 Linus Torvalds 於2005年爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本管理軟件。版本管理是指管理更新的歷史記錄,git的這種特性使源代碼的發佈和交流極其方便html
git經常使用命令git
1-初次運行 Git 前的配置github
設置用戶信息緩存
git config --global user.name "你的用戶名"
git config --global user.email "你的郵箱號碼"複製代碼
檢查配置信息安全
git config --listbash
原理:服務器
Git 自帶一個 git config 的工具來幫助設置控制 Git 外觀和行爲的配置變量。ssh
這些變量存儲在三個不一樣的位置:ide
2-在本地建立git倉庫,跟蹤新增文件,提交文件工具
本地倉庫由 git 維護的三棵「樹」組成。第一個是你的 工做目錄,它持有實際文件;第二個是 暫存區(Index),它像個緩存區域,臨時保存你的改動;最後是 HEAD,它指向你最後一次提交的結果。
step 1: 進入想要建立git倉庫的文件夾
cd dir
step 2:建立git倉庫
git init
step 3: 添加改動,如新增文件
step 4:查看git狀態
git status
step 5:跟蹤文件
git add file 跟蹤某個文件
git add . 跟蹤全部文件
step 6:提交更改
git commit - m "提交信息"
例如,我在gittest文件夾裏新建一個git倉庫,跟蹤新增的1.md文件並提交
3-查看本地倉庫的歷史操做記錄
基礎命令:git log
退出命令:Q
在上面的基礎命令以後還能夠添加參數來實現更具體的查詢
git log --help
git log --author=想查看的人名稱
4-將github上的好項目保存到本地
step 1: 進入你要放項目的文件夾
step 2:將遠程倉庫文件克隆到本地
git clone /path/to/repository
而後你就能夠在文件裏愉快的玩耍啦~
5-提交本地文件到遠程github倉庫*
step1: 在本地文件夾裏添加遠程倉庫地址,並查看是否添加成功
git remote add origin
git remote -v
step 2 :跟蹤文件
git add .
step 3: 提交文件
git commit -m "提交信息"
step 4: 推送本地文件到遠程倉庫
git push origin master
例如,我將我本地的gittest文件夾提交到github裏的learn-git倉庫裏
6-將遠程倉庫的更新取回本地
法一:
step 1: 查看遠程分支
git branch -r
step 2: 取回分支
a-遠程全部分支的更新複製代碼
git fetch
b-取回特定分支的更新複製代碼
git fetch <遠程主機名> <分支名>
step 3: 比較本地的master分支和origin/master分支的差異
git log -p master..origin/master 或者 git diff
注:按Q退出
step 4: 將取回的遠程分支和本地的分支進行合併
git merge origin/master
法二:
命令-git pull origin master
原理: git pull使用給定的參數運行git fetch,並調用git merge將檢索到的分支頭合併到當前分支中。 使用--rebase,它運行git rebase而不是git merge。
在實際使用中,git fetch更安全一些
由於在merge前,咱們能夠查看更新狀況,而後再決定是否合併
結束
例如,我在github上的learn-git倉庫裏遠程添加一個README.md文件,並將其取回到本地
7-修改本地改動
命令:git reset HEAD filename 或者 git reset filename
修改commit信息
修改最後一次commit : git commit --amend
修改非最後一次的commit : git rebase -i HEAD~第幾條記錄複製代碼
8-HTTPS和SSH方式的區別和使用
A-SSH方式
SSH主要用於遠程登陸,將登陸信息所有加密,這是一種相對安全的方式
step 1: 檢查你的電腦上是否已經生成了SSH Key
cd ~/.ssh ls
step 2: 若沒有,建立一個SSH Key
ssh-keygen -t rsa -C "你的email地址"
step 3: 添加SSH Key到Git服務器
git remote rm origin
git remote add origin "Git倉庫的ssh格式地址"
git push origin
B-http方式
此方法相較起來簡單一些,copy https url,而後到git Bash裏面直接用clone命令克隆到本地就行了,可是每次fetch和push代碼都須要輸入帳號和密碼.
本文永久更新地址:github@WolfGirlM