我已經有了自己github,但是我怎么對我的項目進行上傳呢,普通的上傳只有上傳單一的文件
windows要去下載Git,mac就啥也不用了。(鏈接至機房ftp文件夾下文件ftp://10.64.130.1/%C8%ED%BC%FE/Git-2.17.0-64-bit.exe)
然后開始使用Git Bash
Git要求每台電腦都要有自己的用戶名(User Name)和郵箱(Email)
所以我就自己設置下,這些均為黑框框的操作,也就是命令行,但是不要怕,我們還是有圖形界面的
git config --global user.name "your name" git config --global user.email "your email"
建立和上傳SSH Key
找到你這台電腦的管理員賬戶
文件夾下有這個
用txt打開id_rsa.pub
然后到Github setting把這個填進去,Title隨意
沒有的話可以生成,mac下的命令是這個 ssh-keygen -t rsa -C "your_email",然后到相應文件夾下就可以找到相應的pub
在自己電腦里找到自己所要上傳的文件夾,右鍵Git Bash here
git init
其文件夾下會建立一個.git文件夾
git remote add origin git@github.com:你的賬戶/你的倉庫名稱.git
推薦先把兩邊同步下
git pull --rebase origin master
git pull origin master
git add . git commit -m 'first_commit' git push origin master
要繼續學習Git的可以繼續看下去
Git就是實現版本控制的工具,Coding界的時光機、抓罪犯利器
很多時候我們都可以輸入git status去查看目前在哪了,可以解決大部分的問題
git status
我們可以看到有文件未被追蹤,我們可以用 git add <file>,上文的.就是全部加一下
git add a.txt
git status
commit后就是你的改版信息,-m
是 message 的縮寫
git commit -m "新增 a.txt"
我們可以通過git remote在本地repo管理遠程repo地址
git remote add <remote 名稱> <repo 地址>
名稱一般為origin
git push可以將本地repo同步到遠程repo,上文也用過
git push <遠程名稱> <分支名稱>
git pull是和其他人一起協作一個repo時,A在本地repo commit了一個新版本並push到遠程repo,B可以pull 將新版本同步到B的本地repo
git pull <遠程名稱> <分支名稱>
我們還可以使用git reset去回溯,可以先通過log去查看版本
git log --oneline
然后通過git reset,他又三個參數 --mixed
、--soft
、--hard,hard請慎用
git reset 版本號
git stash可以回復到版本出事的樣子並把所有改動存儲起來
git stash
git stash pop
git diff可以用來比較兩個版本的區別
git diff <版本1> <版本2>
git log可以查看git的歷史和版本號
git log
git log --oneline
git checkout回復單一檔案至指定版本
git checkout <版本> <檔案名稱>
工作的時候會發現其實你本地的版本可能是不夠的,可以用git remote去更新下
git remote update origin --prune
然后我們往往是新建一個分支,就是這樣的
git checkout -b some-feature develop
建立bug修復是這樣的
f. 開始Hotfix git checkout -b hotfix-0.1.1 master g. 完成Hotfix git checkout master git merge --no-ff hotfix-0.1.1 git push
刪除本地分支,如果無法刪除可以放心使用-D的
git branch -d 分支名稱
以下為在mac下的操作
修改 .bash_profile展示分支
function git_branch { branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`" if [ "${branch}" != "" ];then if [ "${branch}" = "(no branch)" ];then branch="(`git rev-parse --short HEAD`...)" fi echo " ($branch)" fi } export PS1='\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '
vim之后source一下就是有效了
回滾上一次提交
git reset --hard HEAD^