@@ -162,7 +162,7 @@ ssh -T git@github.com # 测试是否成功
162
162
163
163
` vim ~/.ssh/config ` #修改config文件,如果没有创建 ` config `
164
164
165
- ``` shell
165
+ ``` bash
166
166
Host jslite.github.com
167
167
HostName github.com
168
168
User git
@@ -259,15 +259,15 @@ git clone https://github.com/username/rep.git
259
259
260
260
** 1. 增加3个远程库地址**
261
261
262
- ``` shell
262
+ ``` bash
263
263
git remote add origin https://github.com/JSLite/JSLite.git
264
264
git remote set-url --add origin https://gitlab.com/wang/JSLite.js.git
265
265
git remote set-url --add origin https://oschina.net/wang/JSLite.js.git
266
266
```
267
267
268
268
** 2. 删除其中一个 set-url 地址**
269
269
270
- ``` shell
270
+ ``` bash
271
271
usage: git remote set-url [--push] < name> < newurl> [< oldurl> ]
272
272
or: git remote set-url --add < name> < newurl>
273
273
or: git remote set-url --delete < name> < url>
@@ -287,7 +287,7 @@ git push -f origin master # 强制推送
287
287
只能拉取 ` origin ` 里的一个url地址,这个fetch-url
288
288
默认为你添加的到 ` origin ` 的第一个地址
289
289
290
- ``` shell
290
+ ``` bash
291
291
git pull origin master
292
292
git pull --all # 获取远程所有内容包括tag
293
293
git pull origin next:master # 取回origin主机的next分支,与本地的master分支合并
@@ -301,7 +301,7 @@ git merge origin/next
301
301
如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。
302
302
但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。
303
303
304
- ``` shell
304
+ ``` bash
305
305
$ git pull -p
306
306
# 等同于下面的命令
307
307
$ git fetch --prune origin
@@ -322,14 +322,14 @@ git remote add origin git@jslite.github.com:JSLite/JSLite.git # 添加远程路
322
322
323
323
### 撤销远程记录
324
324
325
- ``` shell
325
+ ``` bash
326
326
git reset --hard HEAD~1 # 撤销一条记录
327
327
git push -f origin HEAD:master # 同步到远程仓库
328
328
```
329
329
330
330
### 放弃本地的文件修改
331
331
332
- ``` shell
332
+ ``` bash
333
333
git reset --hard FETCH_HEAD # FETCH_HEAD表示上一次成功git pull之后形成的commit点。然后git pull
334
334
```
335
335
@@ -370,7 +370,7 @@ git stash && git stash drop
370
370
371
371
### 回滚到某个commit提交
372
372
373
- ``` shell
373
+ ``` bash
374
374
git revert HEAD~1 # 撤销一条记录 会弹出 commit 编辑
375
375
git push # 提交回滚
376
376
```
@@ -491,7 +491,7 @@ echo node_modules/ >> .gitignore
491
491
492
492
在同步之前,需要创建一个远程点指向上游仓库(repo).如果你已经派生了一个原始仓库,可以按照如下方法做。
493
493
494
- ` ` ` shell
494
+ ` ` ` bash
495
495
$ git remote -v
496
496
# List the current remotes (列出当前远程仓库)
497
497
# origin https://github.com/user/repo.git (fetch)
@@ -510,7 +510,7 @@ $ git remote -v
510
510
511
511
同步上游仓库到你的仓库需要执行两步:首先你需要从远程拉去,之后你需要合并你希望的分支到你的本地副本分支。从上游的存储库中提取分支以及各自的提交内容。 ` master` 将被存储在本地分支机构 ` upstream/master`
512
512
513
- ` ` ` shell
513
+ ` ` ` bash
514
514
git fetch upstream
515
515
# remote: Counting objects: 75, done.
516
516
# remote: Compressing objects: 100% (53/53), done.
@@ -522,14 +522,14 @@ git fetch upstream
522
522
523
523
检查你的 fork' s 本地 `master` 分支
524
524
525
- ```shell
525
+ ```bash
526
526
git checkout master
527
527
# Switched to branch ' master'
528
528
```
529
529
530
530
合并来自 `upstream/master` 的更改到本地 master 分支上。 这使你的前 fork' s ` master` 分支与上游资源库同步,而不会丢失你本地修改。
531
531
<
9E88
/tr>532
- ` ` ` shell
532
+ ` ` ` bash
533
533
git merge upstream/master
534
534
# Updating a422352..5fdff0f
535
535
# Fast-forward
@@ -611,7 +611,7 @@ git pull origin master --allow-unrelated-histories
611
611
612
612
# ## 查看某个文件历史
613
613
614
- ` ` ` shell
614
+ ` ` ` bash
615
615
git log --pretty=oneline 文件名 # 列出文件的所有改动历史
616
616
git show c178bf49 # 某次的改动的修改记录
617
617
git log -p c178bf49 # 某次的改动的修改记录
@@ -680,7 +680,7 @@ git push -f origin master # 强制推送文件,缩写 -f(全写--force)
680
680
681
681
git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,下面是一些例子。` git clone < 版本库的网址> < 本地目录名> `
682
682
683
- ` ` ` shell
683
+ ` ` ` bash
684
684
$ git clone http[s]://example.com/path/to/repo.git/
685
685
$ git clone ssh://example.com/path/to/repo.git/
686
686
$ git clone git://example.com/path/to/repo.git/
@@ -700,14 +700,14 @@ git help config # 获取帮助信息
700
700
701
701
# ## add
702
702
703
- ` ` ` shell
703
+ ` ` ` bash
704
704
git add * # 跟踪新文件
705
705
git add -u [path] # 添加[指定路径下]已跟踪文件
706
706
` ` `
707
707
708
708
# ## rm
709
709
710
- ` ` ` shell
710
+ ` ` ` bash
711
711
rm * & git rm * # 移除文件
712
712
git rm -f * # 移除文件
713
713
git rm --cached * # 取消跟踪
@@ -717,7 +717,7 @@ git log # 查看提交记录
717
717
718
718
# ## commit
719
719
720
- ` ` ` shell
720
+ ` ` ` bash
721
721
git commit # 提交更新
722
722
git commit -m 'message' #提交说明
723
723
git commit -a #跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交
@@ -730,7 +730,7 @@ git commit -m '概要描述'$'\n\n''1.详细描述'$'\n''2.详细描述' #提交
730
730
731
731
# ## reset
732
732
733
- ` ` ` shell
733
+ ` ` ` bash
734
734
git reset HEAD * # 取消已经暂存的文件
735
735
git reset --mixed HEAD * # 同上
736
736
git reset --soft HEAD * # 重置到指定状态,不会修改索引区和工作树
@@ -740,15 +740,15 @@ git reset -- files * # 重置index区文件
740
740
741
741
# ## revert
742
742
743
- ` ` ` shell
743
+ ` ` ` bash
744
744
git revert HEAD # 撤销前一次操作
745
745
git revert HEAD~ # 撤销前前一次操作
746
746
git revert commit # 撤销指定操作
747
747
` ` `
748
748
749
749
# ## checkout
750
750
751
- ` ` ` shell
751
+ ` ` ` bash
752
752
git checkout -- file # 取消对文件的修改(从暂存区——覆盖worktree file)
753
753
git checkout branch|tag|commit -- file_name # 从仓库取出file覆盖当前分支
754
754
git checkout HEAD~1 [文件] # 将会更新 working directory 去匹配某次 commit
@@ -758,7 +758,7 @@ git checkout -b gh-pages 0c304c9 # 这个表示 从当前分支 commit 哈希
758
758
759
759
# ## diff
760
760
761
- ` ` ` shell
761
+ ` ` ` bash
762
762
git diff file # 查看指定文件的差异
763
763
git diff --stat # 查看简单的diff结果
764
764
git diff # 比较Worktree和Index之间的差异
@@ -773,7 +773,7 @@ git diff master...test # 你想找出‘master’,‘test’的共有 父分
773
773
774
774
# ## stash
775
775
776
- ` ` ` shell
776
+ ` ` ` bash
777
777
git stash # 将工作区现场(已跟踪文件)储藏起来,等以后恢复后继续工作。
778
778
git stash list # 查看保存的工作现场
779
779
git stash apply # 恢复工作现场
@@ -790,14 +790,14 @@ git merge --squash test # 合并压缩,将test上的commit压缩为一条
790
790
791
791
# ## cherry-pick
792
792
793
- ` ` ` shell
793
+ ` ` ` bash
794
794
git cherry-pick commit # 拣选合并,将commit合并到当前分支
795
795
git cherry-pick -n commit # 拣选多个提交,合并完后可以继续拣选下一个提交
796
796
` ` `
797
797
798
798
# ## rebase
799
799
800
- ` ` ` shell
800
+ ` ` ` bash
801
801
git rebase master # 将master分之上超前的提交,变基到当前分支
802
802
git rebase --onto master 169a6 # 限制回滚范围,rebase当前分支从169a6以后的提交
803
803
git rebase --interactive # 交互模式,修改commit
@@ -810,7 +810,7 @@ git rebase --abort # 取消合并
810
810
811
811
# ## 删除
812
812
813
- ` ` ` shell
813
+ ` ` ` bash
814
814
git push origin :branchName # 删除远程分支
815
815
git push origin --delete new # 删除远程分支new
816
816
git branch -d branchName # 删除本地分支,强制删除用-D
@@ -831,7 +831,7 @@ git push -u origin branchName # 提交分支到远程origin主机中
831
831
832
832
# ## 分支合并
833
833
834
- ` ` ` shell
834
+ ` ` ` bash
835
835
git merge branchName # 合并分支 - 将分支branchName和当前所在分支合并
836
836
git merge origin/master # 在本地分支上合并远程分支。
837
837
git rebase origin/master # 在本地分支上合并远程分支。
@@ -844,7 +844,7 @@ git merge test # 将test分支合并到当前分支
844
844
845
845
# ## 查看
846
846
847
- ` ` ` shell
847
+ ` ` ` bash
848
848
git branch # 列出本地分支
849
849
git branch -r # 列出远端分支
850
850
git branch -a # 列出所有分支
@@ -856,7 +856,7 @@ git remote show origin # 可以查看remote地址,远程分支
856
856
857
857
# ## 新建
858
858
859
- ` ` ` shell
859
+ ` ` ` bash
860
860
git branch test # 新建test分支
861
861
git branch newBrach 3defc69 # 指定哈希3defc69,新建分支名字为newBrach
862
862
git checkout -b newBrach origin/master # 取回远程主机的更新以后,在它的基础上创建一个新的分支
@@ -865,22 +865,22 @@ git checkout -b newBrach 3defc69 # 以哈希值3defc69,新建 newBrach 分支
865
865
866
866
# ## 连接
867
867
868
- ` ` ` shell
868
+ ` ` ` bash
869
869
git branch --set-upstream dev origin/dev # 将本地dev分支与远程dev分支之间建立链接
870
870
git branch --set-upstream master origin/next # 手动建立追踪关系
871
871
` ` `
872
872
873
873
# ## 分支切换
874
874
875
- ` ` ` shell
875
+ ` ` ` bash
876
876
git checkout test # 切换到test分支
877
877
git checkout -b test # 新建+切换到test分支
878
878
git checkout -b test dev # 基于dev新建test分支,并切换
879
879
` ` `
880
880
881
881
# # 远端
882
882
883
- ` ` ` shell
883
+ ` ` ` bash
884
884
git fetch < 远程主机名> < 分支名> # fetch取回所有分支(branch)的更新
885
885
git fetch origin remotebranch[:localbranch] # 从远端拉去分支[到本地指定分支]
886
886
git merge origin/branch # 合并远端上指定分支
@@ -930,7 +930,7 @@ git rm -rf node_modules/
930
930
931
931
git是一个分布式代码管理工具,所以可以支持多个仓库,在git里,服务器上的仓库在本地称之为remote。个人开发时,多源用的可能不多,但多源其实非常有用。
932
932
933
- ` ` ` shell
933
+ ` ` ` bash
934
934
git remote add origin1 git@github.com:yanhaijing/data.js.git
935
935
git remote # 显示全部源
936
936
git remote -v # 显示全部源+详细信息
@@ -1042,7 +1042,7 @@ git status # 获取当前的状态,非常有用,因为git会提示接下来
1042
1042
1043
1043
解决github push错误的办法:
1044
1044
1045
- ` ` ` shell
1045
+ ` ` ` bash
1046
1046
# vim 编辑器打开 当前项目中的config文件
1047
1047
vim .git/config
1048
1048
0 commit comments