工作中經常需要使用到的git命令操作

常用操作(配置基本的信息):

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

git 分支查看與切換

1

2

# 1.查看所有分支

> git branch -a

1

2

3

4

5

# 2.查看當前使用分支(結果列表中前面標*號的表示當前使用分支)

> git branch

 

# 3.切換分支

> git checkout 分支名

 

Git branch -r 列出遠程分支
git branch -a列出本地和遠程分支

誤操作

1,如果碰到新增代碼到本地庫後,git commit後  但是忘記push後   重新又拉取了一次代碼,然後又回滾了一次(git revert)

這個時候本地新增的代碼會被全部的覆蓋,代碼全丟了

可以用git reflog查看操作記錄

和git log不同,git log可以查看提交過的版本信息,而got reflog可以查看所有分支的操作記錄,包含已經被刪除的commit記錄。

然後git reset --hard  版本號 回滾到某版本,這樣就可以完美回退到之前的版本上去了的

pull操作的時候

拉取小程序代碼時提示:
error: Your local changes to the following files would be overwritten by merge:
    xxx/xxx/xxx.wxml
Please, commit your changes or stash them before you can merge.

這個時候可以採取兩種操作:

1,$ git stash

這樣本地的所有修改就都被暫時存儲起來 。是用git stash list可以看到保存的信息:

暫存了本地修改之後,就可以pull了。

2,$ git pull

暫存了本地修改之後,就可以pull了。

3 $ git stash pop stash@{0}

系統提示如下類似的信息:

Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c

意思就是系統自動合併修改的內容,但是其中有衝突,需要解決其中的衝突。

打開衝突的文件,會看到類似如下的內容:

git衝突內容

git衝突內容
其中Updated upstream 和=====之間的內容就是pull下來的內容,====和stashed changes之間的內容就是本地修改的內容。碰到這種情況,git也不知道哪行內容是需要的,所以要自行確定需要的內容。

解決完成之後,就可以正常的提交了。

也可以採取方法2

如果希望用代碼庫中的文件完全覆蓋本地工作版本. 方法如下:

  1. git reset --hard

  2. git pull

直接回退上一個版本,然後再重新拉取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章