此文章只是對命令的一個統計,起備忘和複習git只是的做用,不建議從沒接觸過git的同窗經過它來學習git。linux
第一種方法:yum install git-core 安裝的版本比較老git
第二種方法:(我是linux centos)github
卸載老版本centos
yum remove git bash
安裝依賴app
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoccurl
yum instalgcc perl-ExtUtils-MakeMaker 學習
執行安裝url
wget https://github.com/git/git/archive/v2.2.1.tar.gz tar -zxvf v2.2.1spa
cd git-2.2.1
make configure ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make
make install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
先新建一個文件夾 mkdir test
進入該文件夾執行git init命令,就能初始化倉庫了
添加文件到倉庫
git add <file>
提交代碼
git commit -m "說明"
記錄提交歷史
git log
記錄着操做命令,也就是命令歷史
git reflog
把工做區的內容添加到暫存區
git add <文件>
把暫存區的內容提交到當前分支
git commit -m "提交說明"
將現有工做區的隱藏起來
git stash
恢復隱藏的工做區
git stash pop
查看隱藏的工做區的內容
git stash list
指定恢復哪個隱藏的工做區內容
git stash apply stash@{0}
提交時忽略指定文件
在當前倉庫目錄下新建.gitignore文件,在其中寫要忽略的文件名便可
將工做區的修改撤銷掉
git checkout -- a.txt (注意:--很重要,若是沒有--,這個命令就變成了切換分支)
這個撤銷會有兩種效果
第一種是修改後沒有放到暫存區,那麼撤銷後會回到和版本庫同樣的狀態
第二種是修改後放入了暫存區,又作了修改,那麼撤銷後會回到和暫存區同樣的狀態。
總之,就是讓這個文件回到最近一次git commit或git add時的狀態。
將暫存區的修改撤銷掉
git reset HEAD file
代碼回退 (提交一次就有一個版本,HEAD表示當前版本,HEAD^表示上一個版本,HEAD~10表示前第100個版本)
git reset --hard HEAD^ //回退到上一個版本
代碼回退以後還能夠前進,只要知道前一個版本的版本號
git reset --hard 3628164 //版本號不用寫全,前幾位便可
若是刪除了文件
想讓版本庫裏的文件也刪掉
第一步:git rm -- a.txt
第二步:git commit -m ""
想讓工做區刪除的文件恢復
git checkout -- a.txt
關聯遠程庫
git remote add origin git@github.com:mmcLine/firstGit.git
第一次推送信息
git push -u origin master
不是第一次推送信息
git push origin master
查看遠程庫的信息
git remote
git remote -v 更詳細的信息
推送遠程倉庫有衝突的處理
git push origin dev 發現失敗,有衝突
git pull 把最新的提交抓下來(git pull若是失敗運行 git branch --set-upstream dev origin/dev 再git pull)
在合併,若是有衝突就手動解決後在提交
建立分支
git branch <name>
建立並切換分支
git checkout -b dev
查看當前分支
git branch
把dev分支合併到master上
git merge dev
刪除分支
git branch -d dev
有衝突的時候先手動解決衝突在提交
查看提交的分支表
git log --graph
禁用Fast forward的合併,禁用後每次都會有新的提交
git merge --no-ff -m "merge with no-ff" dev
強行刪除分支
git branch -D <name>
設置git操做命令的別名
git config --global alias.st status //將git status 設置別名爲git st
要刪除別名的設置
配置文件在.git裏面的config裏面,或者對應用戶的家目錄裏的.gitconfig刪除別名就在文件裏刪除別名就行了
處理方法:git remote rm origin
git的版本過低了,我以前是yum安裝了,我卸載了用源碼安裝就行了
git clone git://github.com/mmcLine/firstGit.git
備註:也可以使用git clone https://github.com/mmcLine/firstGit.git的格式
mmcLine和firstGit分別對應圖中的這兩個參數,修改爲本身的就好了
2,推送代碼到github
修改了代碼以後:
git add test.txt
git commit -m "test"
git push -u origin master 如果第一次推送使用此命令
git push origin master 不然使用此推送命令