一、新建遠程倉庫 :?
方法一:?只是新建了遠端倉庫,本地 沒有 關(guān)聯(lián)
curl -u 'username'https://api.github.com/user/repos-d '{"name":"RepoName"}'
方法二 : 新建倉庫 ?并且 ?關(guān)聯(lián)
A:新建----
1.在本地新建一個文件夾(lxqGitTest1) 2.在網(wǎng)頁版的github中新建一個項目(圖中鏈接) 3.利用命令【git remote add origin 地址 】將本地與線上關(guān)聯(lián)
本地新建的文件夾一定要git? init,否則會出現(xiàn)提示不是一個git的管理倉庫
B:關(guān)聯(lián)------
1. git remote set-url origin https://github.com/xueqiliu/lxq.git? 更改項目地址?
2.git remote -v???? 查看遠程倉庫信息
正確的實例:新建,init,-v查看遠程是否關(guān)聯(lián),關(guān)聯(lián)命令,-v查看,已經(jīng)關(guān)聯(lián) ? ? ? ? (PS:只能使用一次,如果已經(jīng)關(guān)聯(lián)過,就會出現(xiàn)遠端已經(jīng)存在的提示,綠色框中的)
二、Git的基本工作流程如下:
? ? ? ? ? ? ? ? ? ? ? ? ?(【綠色的是暫存區(qū),紅色是工作區(qū)】)
備注 : 設(shè)置命令別名 : git config --global alias.st status? ? (git st 即可)global全局 ??Git配置文件放在用戶主目錄下的一個隱藏文件.gitconfig中:
------------------------更新 ----------------
問題:push和pull 的時候總需要輸入賬號密碼,怎么解決?
答:
1. git config--global credential.helper cache? ? 設(shè)置記住密碼(默認15分鐘):
2. git config credential.helper 'cache --timeout=3600'? ? 自己設(shè)置時間
3. git config--global credential.helper store? 長期存儲密碼
4.http://yourname:password@git.oschina.net/name/project.git 增加遠程地址的時候帶上密碼也是可以的
執(zhí)行后會? 在.gitconfig中會多出來? ? ? [credential] helper=store
ps : ?如果你正在使用ssh而且想體驗https帶來的高速,那么你可以這樣做:?1. 切換到項目目錄下 :cd xxx
2. 移除遠程ssh方式的倉庫地址 : git ?remote rm origin
3.增加https遠程倉庫地址git remote add origin http://yourname:password@git.oschina.net/name/project.git
----------------------------補充-------------------------------
新增源 git remote add shangguan http://gitlab.mogujie.org/shangguan/mogu-global.git
修改源 git remote set-url origin http://gitlab.mogujie.org/f2e/mogu-global.git
查看源? git remote -v
------------------------設(shè)置別名---------------
git config --global alias.st status
1. git status? ? ? ? ? ? ? ? ? ? ? ? ? 查看修改了哪些文件
2. git add . ? ? ? ? ? ? ? ? ? ? ? ? ? ?之后目標文件是在暫存區(qū)(從紅色變成綠色)
3. git commit -m ‘xxx’? ? ? ? ? 提交文件(綠色的)到本地倉庫(永久轉(zhuǎn)儲到Git目錄中)
4.git push ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將本地版本庫推送到遠程版本庫(第一次要設(shè)置)
5. git commit -a -m ‘xx’ ? ? ? 把紅的綠的都提交[但是必須都暫存過至少一次,否則不識別]
6. git reset HEAD test2文件名 ? ? ? ? ?從綠色變回成紅色
7. git checkout file ? ? ? ? ? ? ? ?從紅色的變成沒有,跟本地一樣
8.git diff ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 比較紅色和綠色之間的區(qū)別
9. git diff --cached ? ? ? ? ? ? ? 比較綠色的和提交過的
10. git diff HEAD ? ? ? ? ? ? ? ? ?比較紅色和上次提交的差異
PS:push過程中 第一次的時候要設(shè)置 【git push --set-upstream origin test】 ? ? ??
三、查看歷史提交記錄等 :?
1. git log --stat ? ? ? ? ? ? ? ? 查看每次提交的粗略內(nèi)容
2. git log -p ? ? ? ? ? ? ? ? ? ? ? 用來顯示每次提交的內(nèi)容差異??
3. git log -n ? ? ? ? ? ? ? ? ? ? ? 查看最近n次提交
4. git log 文件名 ? ? ? ? ? ? ? ? ?某個文件的提交歷史??
5. git show 0bce78b? ? ? ? ? ? 查看某次提交的改動? ? ? ? ?
6.git blame 文件名 ? ? ? ? ? ? ? ?查看目前文件的每一行是哪個提交最后改動的
7.git log -1 HEAD 文件名 ? ? ?查看文件的最后提交歷史
四、回退版本
1. git reset HEAD^? ? 回退到上一個版本(本地)
2. git reset --hard origin/master? ? 回退到和遠程master分支一樣(本地沒有push)
兩種情況:
1.沒有push ? ??
git reset [--soft | --mixed | --hard? origin/master
默認mixed: 保留源碼,只將git commit和index信息回退
--soft:保留源碼,只回退到commit信息到某個版本.不涉及index的回退,如果還需要提交,直接commit即可.
--hard:源碼,commit和index 都回退到某個版本.(注意,這種方式是改變本地代碼源碼)
如果在push后使用 reset --hard? 回退代碼到某個版本,由于你線上的代碼,commit,index都沒有變,當你把本地代碼修改完提交的時候你會發(fā)現(xiàn)全是沖突.....
所以,這種情況你要使用下面的方式
2.已經(jīng)push:回退本地代碼也想同時回退線上代碼,回滾到某個指定的版本,線上線下保持一致
git revert 版本號 ? ??
git push
分支管理
git branch ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 列出本地所有分支
git branch -a ? ? ? ? ? ? ? ? ? ? ? ?? 列出本地和遠程
git branch -r ? ? ? ? ? ? ? ? ? ? ? ? ? 列出遠程所有分支
git branch fenzhi ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建分支 wxj
git checkout -b fenzhi ? ? ? ? ? ? ? ?創(chuàng)建+切換至
git checkout??fenzhi ? ? ? ? ? ? ? ? ? ?切換分支
git merge fenzhi ? ? ? ? ? ? ? ? ? ? ? ? ?合并某分支到當前分支
git branch -D fenzhi ? ? ? ? ? ? ? ? ? ?刪除未合并的分支
git branch -d fenzhi ? ? ? ? ? ? ? ? ? ? 刪除已合并的分支
git push origin fenzhi ? ? ? ? ? ? ? ? ?提交遠程分支
五、刪除文件
刪除文件
rm從工作目錄中刪除指定文件,但不從暫存區(qū)域移除
git rm從版本庫中刪除該文件 git rm后提交? git rm test.txt? ? git commit -m ‘remove text.txt'
git rm --cached ...:僅僅將文件從暫存區(qū)域中移除(其狀態(tài)變?yōu)槲锤櫍粚υ撐募M行其它操作
git rm -f? ? ? ? ? ? ? 強制刪除
git rm -r? ? ? ? ? ? ? 遞歸刪除(用于刪除目錄)
git clean? ? ? ? ? ? ? 清除未跟蹤文件
git clean -n? ? ? ? ? 顯示將要清除的文
git clean -f? ? ? ? ? ? 強制清除文件(不包括目錄)
git clean -df? ? ? ? ? 強制清除所有文件和目錄
參考鏈接: http://www.lxweimin.com/p/bcd155258985