0、git管理的是修改而不是文件!git
一、在 git Bash 上設置用戶名和emailgithub
git config --global user.name "Cai" git config --global user.email "你的郵箱" 查看:git config --list
二、在空白目錄 「test」 下建立git倉庫,(test文件夾就是工做區)shell
git init
三、將倉庫目錄下的文件 test.txt 添加到暫存區緩存
git add test.txt git add . //添加所有到暫存區
四、將暫存區下的文件提交到當前分支bash
git commit -m "提交的描述"
五、查看倉庫中文件的狀態: 是否有文件改動了、是否有 add 過的文件服務器
git status
六、查看文件具體修改的內容app
git diff test.txt
七、當前版本出錯,想要版本回退時從版本日誌中尋找合適的版本,打印版本日誌:ssh
git log
八、回退到以前的版本fetch
git reset --hard HEAD^ //回退到前一個版本 git reset --head 1094a //根據commit id回退到指定版本(commit id寫前幾位就好) git reset --hard HEAD~10 //HEAD~後面的數字10表示回退到上十個版本
九、回退到以前版本後後悔了,再變回來必須知道該版本的commit id網站
git reflog //查看命令記錄 git reset --hard 1094a //回退到指定版本 cat test.txt //查看該文件內容
十、撤銷工做區的修改(沒有添加到暫存區)
git checkout -- test.txt //撤銷對test.txt的修改
十一、撤銷暫存區的修改
git reset HEAD test.txt //撤銷對暫存區中test.txt的修改
十二、從版本庫中刪除文件
git rm test.txt git commit -m "刪除了test.txt文件" 若是誤刪:git checkout -- test.txt //還原
1三、如何將本地git倉庫上傳至GitHub
一、打開GitBash輸入: ssh-keygen -t rsa -b 4096 -C "郵箱@qq.com" //生成公鑰和私鑰(cat 目錄 複製) 二、登陸你的GitHub,並在設置中添加 SSH keys ,放入公鑰。 三、在GitHub中新建一個空倉庫,倉庫建好後能夠選擇其列出的第二項推送本地倉庫的方式。 四、詳細參考連接: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
1四、多人協做時從GitHub遠程庫克隆倉庫
git clone git@github.com:GithubName/test.git
1五、多人協做時,採用分支管理: 建立不一樣的分支,每一個人在不一樣的分支上工做,最後合併分支。
git branch //查看分支 git branch name //建立分支 git checkout name //切換分支 git checkout -b name //建立並切換分支 git branch -d name //刪除分支(只能刪已完成合並的分支) git branch -D name //強行刪除分支(刪未合併的分支) git merge name //合併 name 分支到當前分支 git merge --no-ff -m "這裏合併了dev分支" dev //使用普通模式合併分支,使其有據可查 git log //查看分支歷史 //同一段內容在不一樣分支上不一致時沒法合併分支,先解決衝突後再合併,而後刪除建立的分支 //master分支是主分支,一般不直接在主分支上修改,而僅用來發布新版本 //可建立一個dev分支,全部人都在dev分支上建立本身的分支,全部修改都提交到dev分支,最終將dev分支做爲新版本提交到master分支
1六、暫存未完成修改的分支
git stash //工做只進行到一半無法提交時,先把工做現場存起來,下次再作 git stash list //查看保存的工做區列表 git stash pop //恢復工做區並刪除暫存的stash git stash apply //恢復工做區,不刪stash git stash drop //刪除stash //好比是在dev分支上建立的工做分支,則到dev分支上恢復工做區
1七、多人協做時,使用遠程分支
git remote //查看遠程庫,能夠看到遠程庫名字,默認名:origin git remote -v //查看遠程庫詳細信息,顯示能夠抓取和推送的origin的地址 git push origin master //推送本地主分支(master)到遠程分支(origin) git push origin dev //推送本地開發分支(dev)到遠程分支 //一般須要推送主分支和開發分支到遠程分支中,而每一個人基於開發分支本身建立的工做分支,視狀況推送。 抓取遠程分支時,只能clone主分支master,若是要在dev分支工做就須要建立遠程dev分支到本地 git checkout -b dev origin/dev //在本地建立遠程的dev分支,而後就能夠在dev分支建立本身的工做分支了 git push origin dev //時不時推送dev分支到遠程
1八、若是向遠程分支推送失敗
//若是推送失敗,由於你試圖推送的提交與你的小夥伴的提交衝突了。 git pull //把最新的提交抓下來,而後在本地合併,解決衝突後再推送 git branch --set-upstream-to=origin/dev dev //若是git pull 失敗,可能忘了設置dev分支與遠程dev分支的連接 // 再git pull ,而後推送,合併分支
1九、標籤管理
//爲了方便管理,能夠爲每次提交打一個標籤,好比版本號 git tag v1.0 //爲當前分支建立標籤 git tag //查看全部標籤 git tag v0.9 0536a //若是忘了打標籤,能夠指定使用git log查到該分支版本的 commit id 打標籤 git show v1.0 //顯示標籤信息 git tag -a v1.0 -m "標籤描述" 03366b //建立帶說明的標籤 //標籤都是建立在本地的,不會自動推送到遠程 git tag -d v1.0 //刪除本地標籤 git push origin v1.0 //推送一個標籤到遠程 git push origin --tags //推送全部本地標籤到遠程 git push origin :refs/tags/v1.0 //刪除遠程標籤 git push --delete origin test //刪除遠程分支
20、使用碼雲
//碼雲是國內的Git託管服務平臺,和Git不一樣的是碼雲能夠提供免費的私有倉庫,而Git的私有倉庫是收費的。 //和GitHub同樣,註冊碼雲並添加公鑰後在碼雲建立一個項目,而後使用下面的命令關聯碼雲的遠程庫 git remote add gitee git@gitee.com:cai/testgit.git //注意碼雲的遠程庫是 gitee 而不是origin(可使用 git push gitee master 推送了) git remote -v //查看遠程庫信息 git branch -r //查看遠程分支 git branch -vv //查看本地分支所關聯的遠程分支 git branch -m old new //重命名本地分支 git remote rm origin //刪除origin遠程庫(origin是GitHub的遠程庫) git remote add github git@github.com:OnlyChangeMyself/test.git //從新關聯GitHub的遠程庫,此時GitHub的遠程庫叫github了而不是origin(可使用git push github master)
2一、配置別名
git config --global alias.sta status //使用git sta就等於git status了 git config --global alias.cmt commit //git cmt等於git commit git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" //git lg
2二、搭建Git服務器
//其實就是搭建私有倉庫 //推薦使用Linux服務器如Ubuntu或Debian //假設你有sudo權限的帳號 第一步:sudo apt-get install git //安裝Git 第二步:sudo adduser git //建立一個Git用戶,用來運行Git服務 第三步:建立證書登陸:///收集全部須要登陸的用戶的公鑰,就是他們本身的id_rsa.pub文件,把全部公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個 第四步,初始化Git倉庫://先選定一個目錄做爲Git倉庫,在該目錄下輸入命令(好比目錄:/srv): sudo git init --bare sample.git sudo chown -R git:git sample.git 第五步:禁用shell登陸,經過編輯/etc/passwd文件完成 git:x:1001:1001:,,,:/home/git:/bin/bash 改成: git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 第六步,克隆遠程倉庫: git clone git@server:/srv/sample.git
2三、參考自
[廖雪峯的官方網站][1]
2四、抓取遠程分支覆蓋本地分支
git fetch --all git reset --hard origin/master
2五、修改gitignore配置文件後生效方法
git rm -r --cached . //清除緩存 git add . git commit -m "提交描述" git push origin master //提交到遠程