git config --global user.name "name" git config --global user.email "xx@qq.com"
git config --global color.ui auto #輸出顯示信息更易讀
1:建立密鑰 ssh-keygen -t rsa -b 4096 -C "397916230@qq.com" 而後會要求你輸入一個你能記住的密碼 產生的三個內容須要注意: 1: key fingerprint 2: .ssh/id_rsa文件 私有密鑰 3: .ssh/id_rsa.pub文件 公開密鑰 2: add to ssh-agent eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa 3:向github中添加公開密鑰 在本身的github賬號中添加了公開密鑰以後,就能夠用私有密鑰進行認證了 在瀏覽器中登陸github賬號->setting->SSH and GPG keys->add key (title隨機取名,key的來源是id_rsa.pub文件中的內容,注意該文件的全部內容到複製到github中) 4:在shell中使用私人密鑰與github進行通訊 ssh -T git@github.com #這時會彈出一個對話框,讓你輸入密碼,該密碼爲剛纔建立密鑰時輸入的密碼
watch: 關注某個項目的開發進展
following:關注某些程序員
follower:有哪些人關注你
git
echo "# firt try to create repository using cmd line" >> README.md git init git add README.md #添加文件到倉庫中 git commit -m "firt commit" #提交文件時,添加的commit內容 git remote add origin https://github.com/huangtao00/First.git git push -u origin master #push到上first.git這個倉庫中 ,這一步要輸入用戶名,密碼
#還有一個更簡單的方法,在瀏覽器中建立了倉庫後,直接到cmd下git clone 以前建立的倉庫便可 #注意在瀏覽器中clone時必定選擇使用Clone with SSH,這樣只用輸入一次密碼,查看第3部分) git clone git@github.com:huangtao00/CoolQrobot.git git status #查看一下當前本地建立的狀態 #編寫要添加的程序源碼 #下面是添加源碼到倉庫中 git add hello.py git commit -m "add hello.py to repository" #後面push到遠程repo時,會顯示的信息 git log #能夠用來查看 你以前 在什麼時間 提交過 commit git push #這樣就把剛纔add and commit的文件和信息上傳到了遠程倉庫 #下次要加入新的文件,或是舊的文件須要改變後 上傳時,仍是進行以下操做 git add filename git commit -m "message" git push #若是本身改了不少文件,已經不記得哪些文件本身改過了,可使用下面命令 #查看修改過,可是尚未被push到遠程repo的文件 git status #主要是用來顯示本地建立的當前狀態 #若是當前目錄中存在沒有被添加到倉庫中的文件時,該文件稱爲untracked files #經過 git add命令把文件添加到repo中,此時git status能夠看到 new file: #若是git add以後,發現add的文件添加錯了,使用下面的命令從stage中去除掉 git rm --cached filename #而後再 git status時,能夠發現文件又變成了 untracked files #git commit的信息附到以前add的全部文件上 直接輸入git commit時,vim會被打開,讓你添加更加詳細的提交信息 #當你輸入git commit使用vim對以前add的文件添加了 提交信息後,後來又以爲這些commit信息寫的有問題,能夠用下面的命令回到沒到commit的狀態 git reset HEAD hello.py #git log 查看什麼人在什麼時間進行了commit的操做 git log --pretty=short #對每一個commit,只顯示提交信息的第一行,方便觀察 git log README.md #只顯示與該文件有關的commit ,也可加目錄 #記住 git log這個命令很是強大,有不少參數,由於開發人員常常要看一下,之前本身或團隊對工程裏的源碼作過哪些修改,須要慢慢掌握這個工具 #若是咱們改變了文件 可是沒有add,這時文件改變狀態 是在工做樹中保存的 #若是咱們把改變後的文件git add以後,這時,文件改變的狀態 就同步到了暫存區 #再使用git diff 就看不到區別了 #這裏有一點要注意的,文件在本地時,有兩個空間 工做樹空間,暫存區空間, #工做樹空間-->add -->暫存區空間--->push -->遠程倉庫 git diff HEAD,能夠查看最近的一次文件作了哪些修改 ,就是在commit前,能夠用這個命令來看,文件所作的修改,若是項目很大時,這個命令頗有用的!! #實際上咱們操做時,能夠把全部文件慢慢的add,commit了以後, #而後一般 git log來看全部commit, #最後須要上傳到遠程repo時,才調用push,不要一個文件發生改變後,立刻push,沒有必要 #文件改沒改變,能夠一般git status發現,而後git diff查看具體改變了什麼 #刪除遠程倉庫上文件的命令 git rm -f file git commit -m "delete file" git push #刪除暫存區空間上的文件 git rm --cached file
git rm -r --cached some-directory git commit -m "Remove the now ignored directory some-directory" git push -u origin master
#不使用密鑰,只是將密碼cache到memory # Set git to use the credential memory cache ,默認15分鐘後失效 git config --global credential.helper cache # Set the cache to timeout after 1 hour (setting is in seconds)單位是秒 git config --global credential.helper 'cache --timeout=3600'
git checkout <tag> git log #to get sha number used below git reset --hard <sha>