Coder Social home page Coder Social logo

gitskills's Introduction

Hello, World!

  • 👋 Hi, I’m @CHH3213
  • 👀 I’m interested in Reinforcement Learning and Self-Driving
  • 🌱 I’m currently learning RL, Python, C++, Control Theory...
  • 📫 Reach me through [email protected]

GitHub stats

📊 This Week I Spent My Time On

💬 Programming Languages: 
No Activity Tracked This Week

I Mostly Code in Python

Python                   15 repos            ███████████░░░░░░░░░░░░░░   44.12 % 
C++                      7 repos             █████░░░░░░░░░░░░░░░░░░░░   20.59 % 
Jupyter Notebook         3 repos             ██░░░░░░░░░░░░░░░░░░░░░░░   08.82 % 
TeX                      2 repos             █░░░░░░░░░░░░░░░░░░░░░░░░   05.88 % 
HTML                     2 repos             █░░░░░░░░░░░░░░░░░░░░░░░░   05.88 % 

Last Updated on 16/09/2024 18:41:11 UTC

gitskills's People

Contributors

chh3213 avatar

Watchers

 avatar

gitskills's Issues

21. Git: There is no tracking information for the current branch.

在执行git pull的时候,提示当前branch没有跟踪信息:

There is no tracking information for the current branch.

解决方法:先指定本地master到远程的master,然后再去pull

git branch --set-upstream-to=origin/master master
git pull

2. 代码仓库迁移

rm -rf .git        //删除.git

git init

git add .

git commit -m "desc"

# 注:需要在github上创建新的仓库或者利用vscode(左下角master旁边有一个sync符号,点击它)

git remote add origin https://github.com/xxxxxxx

git push -u origin master

如果报git 当前分支 master 没有对应的上游分支。
则查看
#1
如果Git报错:OpenSSL SSL_read: Connection was reset, errno 10054,则查看
#5
如果timeout,则查看
#6

39. 错误修复:error: cannot lock ref 'refs/remotes/origin/test/stop_cell_proto_migration': 'refs/remotes/origin/test' exists; cannot create 'refs/remotes/origin/test/stop_cell_proto_migration'

User
error: cannot lock ref 'refs/remotes/origin/test/stop_cell_proto_migration': 'refs/remotes/origin/test' exists; cannot create 'refs/remotes/origin/test/stop_cell_proto_migration'

git pull时出现了这个错误,how to fix

这个错误表明你的本地分支(test/stop_cell_proto_migration)试图与远程分支(origin/test)冲突,因为它们都存在于同一个命名空间中(origin/test)。这可能是因为你的本地分支名称与远程分支名称相同,或者是因为存在一些冲突的引用。

为了解决这个问题,你可以尝试以下几种方法:

  1. 重命名本地分支:可以通过以下命令将本地分支重命名为一个不与远程分支冲突的名称:

    git branch -m <old_branch_name> <new_branch_name>
    

    例如,将本地分支test/stop_cell_proto_migration重命名为new_branch_name

    git branch -m test/stop_cell_proto_migration new_branch_name
    

2. 删除冲突的引用:可能是存在一些冲突的引用导致了这个问题。你可以通过以下命令删除本地的冲突引用:

git update-ref -d refs/remotes/origin/test
  1. 强制拉取远程分支:如果你确定你的本地更改不会导致数据丢失,并且你希望覆盖本地分支的更改,你可以使用git pull命令的--force选项来强制拉取远程分支:
    git pull --force
    

在执行这些操作之前,建议先备份你的本地更改以防止意外数据丢失。并且在进行强制操作之前,最好与团队成员或代码仓库的维护者进行沟通,确保你的操作不会影响到其他人的工作。

41. 如何使用git cherry-pick来复制多个提交到另一个分支的步骤:

git cherry-pick 命令允许您从其他分支复制特定的提交(commits)并合并到当前分支。以下是如何使用它来复制多个提交到另一个分支的步骤:

  1. 切换到目标分支

    首先,切换到您想要应用这些提交的分支:

    git checkout <目标分支名称>
    
  2. 获取要复制的提交 ID

    从源分支中获取您想要复制的提交 ID。您可以使用 git log 查看日志。
    git log 分支名
    可以查看源分支中想要复制的提交 ID

  3. Cherry-pick 提交

    对于每个您想要复制的提交 ID,运行:

    git cherry-pick <提交ID>
    

    对于多个提交,重复此命令即可。

    git cherry-pick <提交ID1>
    git cherry-pick <提交ID2>
    git cherry-pick <提交ID3>
    
  4. 处理潜在的冲突

    如果在复制提交时发生冲突,Git 会停止过程并要求您先解决冲突。解决冲突后,使用 git add 暂存更改,然后运行 git cherry-pick --continue 继续应用剩余的提交。

通过这种方式,您可以将多个独立的提交从一个分支复制并应用到另一个分支,而无需合并整个分支。这在您只想合并特定提交时非常有用。

28. 使用clash api切换节点

使用Clash-API切换节点
curl 的用法指南

  • 查看所有代理
    curl localhost:9090/proxies
    
  • 切换节点
    终端运行:
    curl  -v -H "content-type: application/json" -X PUT "http://localhost:9090/proxies/组名" -d '{"name": "节点名"}'
    
    如切换GLOBAL下的japan1:
    curl  -v -H "content-type: application/json" -X PUT "http://localhost:9090/proxies/GLOBAL" -d '{"name": "japan1"}'
    

27. ubuntu下github加速

执行以下命令,clone github项目、git push 和git pull直接起飞

    git config --global http.https://github.com.proxy socks5://127.0.0.1:7891

当然,前提是运行了clash,且socks协议的端口是7891。

34. git stash 用法

git stash 是一个在 Git 中用于保存临时更改的命令。它允许你将当前工作目录中的修改暂时存储起来,以便你可以切换到其他分支或进行其他操作,而不必提交这些更改。下面是 git stash 的常见用法和相关命令:

git stash save "message":将当前工作目录中的修改保存到一个新的 stash 中,并添加一条描述消息。这个命令会将暂存区和工作目录中的所有修改保存起来。

git stash list:显示所有保存的 stash 列表,以及它们的索引号、分支信息和描述消息。

git stash show stash@{n}:显示指定 stash 的详细信息,其中 n 是 stash 的索引号。可以使用 git stash list 命令查看索引号。

git stash apply stash@{n}:将指定的 stash 应用到当前分支,恢复保存的修改。默认情况下,这个命令会应用最新的 stash(索引号为 0)。

git stash pop stash@{n}:将指定的 stash 应用到当前分支,并从 stash 列表中移除这个 stash。也默认应用最新的 stash。

git stash drop stash@{n}:移除指定的 stash,从 stash 列表中彻底删除。

git stash branch new-branch-name stash@{n}:创建一个新分支 new-branch-name 并基于指定的 stash 创建,然后应用该 stash。这对于基于 stash 中的修改创建新的分支非常有用。

这些是 git stash 命令的一些常见用法,但还有其他选项和命令可以进行更高级的操作。你可以通过 git stash --help 来查看更多关于 git stash 命令的详细信息和选项说明。

另外在vscode中可以很方便得使用可视化操作。

38. Git fork了别人的仓库如何同步原仓库更新

要同步在GitHub上fork的别人的仓库的更新,可以按照以下步骤进行操作:

  1. 配置远程仓库地址:
    在命令行中,进入你fork的仓库的本地目录,并添加一个指向原始仓库(即你fork的仓库来源)的远程仓库地址。通常,原始仓库会被称为"upstream"(上游仓库)。假设原始仓库的URL为https://github.com/original-user/original-repo.git,执行以下命令:
git remote add upstream https://github.com/original-user/original-repo.git
  1. 拉取原始仓库的更新:
    现在,你需要从上游仓库(原始仓库)拉取最新的更改。
git fetch upstream
  1. 合并更新:
    在将上游仓库的更新拉取到本地后,你可以将这些更新合并到你的本地主分支(通常是master/main分支)。
git checkout master  # 切换到你的主分支,如果不是master分支,请将其替换为你的主分支名称
git merge upstream/master  # 将上游仓库的更新合并到你的主分支

或者,如果你更喜欢使用rebase来保持提交历史的整洁:

git checkout master
git rebase upstream/master
  1. 推送更新:
    现在,你已经将上游仓库的更新合并到你的本地分支,接下来将这些更改推送到你fork的远程仓库。
git push origin master  # 如果不是master分支,请将其替换为你的主分支名称

现在,你的GitHub仓库应该与原始仓库保持同步了。重复上述步骤,以后都可以保持同步。

记住,定期拉取上游仓库的更新是很有必要的,这样你的代码库将与原始仓库保持最新。

12.Authentication failed on the git remote

参考:https://stackoverflow.com/questions/32639393/authentication-failed-on-the-git-remote
1. Create a personal access token on GitHub.com. Tutorial here
2. Go back to Visual Studio Code and open terminal. Type in the following command with your own user information:
git remote set-url origin https://<TOKEN>@github.com/<user_name>/<repo_name>.git
example:

git remote set-url origin https://[email protected]/CHH3213/IEEE_TAI_DDR.git

In case you would like to follow a video guide, this one proved to be quite helpful.

35. revert操作和撤销revert

revert操作

有些时候,我们所提交的一个commit(假设commit id为 abcdefg)可能有我们没注意到的bug,此时需要revert掉这次commit,只需要运行以下命令就可以revert掉此次commit的变更内容。

git revert abcdefg

撤销revert

如果在 Git 中使用 git revert 操作来撤销了一个提交,然后又有了多个提交,想要撤销之前的 revert 提交,可以通过以下步骤来实现:

  • 查找 revert 提交:首先,需要找到之前的 revert 提交的哈希值或引用。可以使用 git log 命令查看提交历史,找到之前的 revert 提交。

  • 查找之前的正常提交:在找到 revert 提交之后,您需要查找被 revert 的那个提交的哈希值或引用。这是因为 git revert 实际上是创建了一个新的提交,将之前的提交内容反转过来。找到被 revert 的提交。

  • 使用 cherry-pick 操作:一旦找到被 revert 的提交,您可以使用 git cherry-pick 命令来将这个提交重新应用到当前分支上,从而撤销之前的 revert。假设被 revert 的提交哈希为 abcdefg,您可以运行以下命令:

git cherry-pick abcdefg
  • 这将会将被 revert 的提交应用到当前分支上,重新引入之前被 revert 的更改。

解决冲突:如果在 cherry-pick 过程中发生了冲突,需要解决冲突并完成 cherry-pick 操作。

进行测试:在完成 cherry-pick 后,确保代码在恢复之前的提交后能够正常工作。运行测试,确保没有引入新的问题。

推送更改:如果一切都正常,可以将这个撤销的提交推送到远程仓库。如果这个撤销提交是之前 revert 提交的子提交,可能需要使用 git push --force 来更新远程仓库。

25. 删除远程分支

①首先删除本地分支:

git branch -d dev

②删除远程仓库分支:

git push origin --delete dev 

18. git stash用法

git pull 拉代码的时候,或者切换分支的时候,防止冲突和不便,,会用到git stash,将工作区内容暂存起来。

比如:为了fix 一个bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。

怎么办:

1、git stash

    备份当前工作区的内容,保存到git 栈中,从最近的一次commit中读取相关内容

2、git pull  或者做其他的工作    

3、git stash pop

    从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。。获取之后,会删除栈中对应的stash。。

    由于可能会stash多次,git使用栈管理,我们可以使用git stash list查看所有的stash

git stash list

    显示git栈中的所有工作区内容的备份,

    比如使用git stash apply stash@{1},就可以把版本号为stash@{1}的备份取出,不会删除对应的stash。。0为最新版本

git stash clear

    清空git栈

37. git如何撤销单独某个文件的commit,而不对其他文件影响

撤销单独某个文件的 commit,而不影响其他文件,可以使用 git revert 或 git reset 命令。

使用 git revert 的方法:

git revert <commit-id> -- <file-path>

例如:

git revert a1b2c3d4 -- src/main.py

这会生成一个新的 revert commit,仅仅撤销 main.py 文件在 a1b2c3d4 这个 commit 中的更改,不会影响到其他文件。

使用 git reset 的方法:

git reset <commit-id> -- <file-path>

例如:

git reset a1b2c3d4 -- src/main.py

这会把 main.py 文件在 HEAD 和 a1b2c3d4 之间的改动重置掉,并将原改动暂存到工作空间中,其他文件不受影响。

需要注意的是,git reset 会重写当前分支的历史,如果已经推送至远程,会导致分支历史不一致。这时需要强制推送来覆盖远程分支:

git push -f

所以在已经推送到远程时使用 git reset 时要谨慎,如果没有,则可以放心使用。

总之,使用 git revert 可以安全地撤销单个文件在某次 commit 中的更改;使用 git reset 可以快速撤销文件更改,但要确保没有推送过该 commit 到远程分支。

13. git 分支合并主干、主干合并分支

  复杂的项目都会有主干和分支,每过一段时间后便会将分支代码合并到主干或者将主干代码合并到分支,以下是主干分支合并时的步骤和对应的git命令。

branch为分支名称
(branch)表示git命令在分支项目下执行
(master)表示git命令在主干项目下执行

git merge命令只能合并本地分支,无法直接合并远程分支,因此在合并之前需在分支上使用git pull命令获取最新代码。

1、主干合并分支

  1. 进入分支,更新分支代码
(branch)git pull;
  1. 切换主干
(branch)git checkout master;
  1. 在主干上合并分支branch
(master)git merge branch --squash
  1. 提交合并后的代码
(master)git commit -m ‘合并备注’
  1. 将代码推送到远程仓库
(master)git push

2、分支合并主干

  1. 进入主干,更新主干代码
(master)git pull;
  1. 切换分支
(master)git checkout branch;
  1. 在分支上合并主干
(branch)git merge master --squash
  1. 提交合并后的代码
(branch)git commit -m ‘合并备注’
  1. 将代码推送到远程仓库
(branch)git push

1. fatal: 当前分支 master 没有对应的上游分支。

git branch 查看当前是什么分支;(比如是master)

git status 查看 是否包含上游分支信息,如果没有 这么设置或取消:、

git branch --set-upstream-to=origin/master master

git branch --unset-upstream master

当然必须有git remote -v 有远程的orgin 的远程上游仓库信息

16. git上传大容量文件

需要配置Git LFS(Git Large File Storage)

1. 因为安装 Git LFS 需要 Git 的版本不低于 1.8.5,所以安装之前,需要先查看自己的git版本。

git --version

2. 安装Git LFS

# mac下请使用homebrew安装:
brew install git-lfs

# linux(unbuntu)下安装:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

3. 使用lfs

  1. 安装完成后,首先在仓库目录下先初始化;如果有反馈,一般表示初始化成功
git lfs install
  1. 追踪大文件,例如,追踪指定类型为mp4的文件:
git lfs track "*.mp4"

如果要追踪某个目录下的所有文件:

git lfs track "directory/*"

  1. 常规的push操作
git add .
git commit -m "add large file"
git push

32. git stage用法

git三大区

Git 本地数据管理,大概可以分为三个区,工作区,暂存区和版本库。

  • 工作区(Working Directory)
    是我们直接编辑的地方,例如 Android Studio 打开的项目,记事本打开的文本等,肉眼可见,直接操作。
  • 暂存区(Stage 或 Index)
    数据暂时存放的区域,可在工作区和版本库之间进行数据的友好交流。
  • 版本库(commit History)
    存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程仓库了。

  1. stash是git中的一个命令。git stash的作用是把工作区(必须是工作区中已经被git追踪到的文件)和索引中的内容暂时存到一个堆上。而且这个堆是和分支不相关的。切换分支后,依然可以看到并使用。

  2. stage是git中的一个区域。如下图所示。

图片

参考:

  1. https://blog.csdn.net/qq_32452623/article/details/78417609
  2. https://blog.csdn.net/u010037020/article/details/81537809

36. git合并多个commit的方法总结

当我们向开源社区提交代码时,一般都会要求简化commit。即多个commit合并为一个commit再提交。

合并多个commit分两种情况,下面一一讲解。

要合并的所有commit都还没有push到远程仓库。
有些commit已经push到了远程仓库。

  1. 要合并的commit还没有push到远程仓库
    这种情况下有三种命令可以实现要求:

第一种(推荐):使用git reset方式(因为比较好理解,也是笔者推荐的方式)。步骤如下:

git log查看要合并的commit.记住最早的commit号。
git reset --soft commit_number .回退到此commit号。因为没有使用--hard,所以内容都保存在工作区。
git add 将回退的的内容再次添加到暂存区
git commit -m "comment"再次提交。
git log。使用此命令查看,发现合并完成。
这种方式主要利用了git reset回退时并不会删除工作区的内容。因此可以一次性重新提交。

第二种:使用git commit --amend方式。只能合并当前要提交的和最近一次提交的commit.

修改工程文件。
git add .将文件添加到暂存区。
git commit --amend -m "commet".提交。
git log。使用此命令查看,发现与最近一次commit为一个commit。

第三种:使用git rebase变基的方式。需要理解rebase的原理。

  1. 有些commit已经push到了远程仓库
    这种情况就比较麻烦。push时要用到--force或--force-with-lease选项进行强制推送。

步骤如下:

保证要推送的分支与本地分支同步。
使用上面提到的三种方式任意一种进行commit的合并。
使用git push --force-with-lease origin dev的方式强制推送。
注意:如果推送的是主分支master,也可能会推送失败,并提示(You are not allowed to force push code to a protected branch on this project.)这是由于gitlab等服务器设置了主分支保护造成的。可以设置gitlab的"Settings" -> “Repository” -> scroll down to “Protected branches”.然后再推送。

24. git修改分支名称

  1. 本地分支重命名(还没有推送到远程)
git branch -m oldName newName
  1. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)
    a. 重命名远程分支对应的本地分支
git branch -m oldName newName

b. 删除远程分支

git push --delete origin oldName

c. 上传新命名的本地分支

git push origin newName

d.把修改后的本地分支与远程分支关联

git branch --set-upstream-to origin/newName

40. pull requets 步骤总结

在GitHub上提交Pull Request的步骤如下:

  1. Fork仓库

    访问你想要贡献的GitHub仓库页面,点击右上角的"Fork"按钮,将该仓库fork到你自己的GitHub账号下。

  2. 克隆仓库到本地

    复制你fork后仓库的URL,然后在本地终端执行:

    git clone <你fork后仓库的URL>
    
  3. 创建新分支

    进入克隆后的本地仓库目录,创建一个新的分支:

    git checkout -b new-feature
    
  4. 提交修改

    在新分支上对代码进行修改,添加新功能或修复bug等。修改完成后,提交代码:

    git add .
    git commit -m "添加新功能"
    
  5. 推送到远程分支

    将新分支推送到你fork后的远程仓库:

    git push origin new-feature
    
  6. 提交Pull Request

    在你的GitHub仓库页面,可以看到一个Compare & Pull Request的按钮,点击它。

    填写Pull Request的标题和描述,说明你做出了哪些修改。代码仓库的维护者会收到你的Pull Request。

  7. 保持同步

    如果代码仓库有新的更新,你需要先同步你fork的仓库:

    git remote add upstream <原始仓库的URL>
    git fetch upstream
    git merge upstream/master
    

    处理好合并冲突后,继续推送你的新分支到远程。

  8. 讨论并等待合并

    仓库维护者会审查你的Pull Request,也许会要求你做出一些修改后才能合并。保持关注,参与相关讨论。最终你的修改将被合并到主干代码库或者被拒绝。

17. commit撤销

  • commit 撤销

    git reset --soft HEAD^
    

    这样就成功的撤销了commit,注意,仅仅是撤回commit操作,写的代码仍然保留。
    HEAD^的意思是上一个版本,也可以写成HEAD~1。如果你进行了2次commit,想都撤回,可以使用HEAD~2

    --mixed
    意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

    --soft
    不删除工作空间改动代码,撤销commit,不撤销git add .

    --hard

    删除工作空间改动代码,撤销commit,撤销git add .

    注意完成这个操作后,就恢复到了上一次的commit状态。

  • 如果commit注释写错了,只是想改一下注释,只需要:

    git commit --amend
    

    此时会进入默认vim编辑器,修改注释完毕后保存就好了。

  • 删除commit,并且工作区代码回滚到某次commit之前

    1. git log // 查询要回滚的 commit_id
    2. git reset --hard commit_id // HEAD 就会指向此次的提交记录
    3. git push origin HEAD --force // 强制推送到远端
    

22. fatal: refusing to merge unrelated histories

在两个分支合并,或者git pullgit push时,有可能出现错误:

fatal: refusing to merge unrelated histories

解决方法为直接在命令后面加入:

--allow-unrelated-histories

例如

git merge master --allow-unrelated-histories
git pull origin master --allow-unrelated-histories

30. fatal: unable to access '...': Failed to connect to github.com port 443: 连接超时

再进行 git push时总是报错:

[2022-04-24T05:54:07.646Z] fatal: unable to access 'https://github.com/CHH3213/IEEE_TAI_DDR-v2.git/': Failed to connect to github.com port 443: 连接超时

后来发现应该是之前设置过github的ip地址,这个可能过期了,所以更新它或者注释掉它。

  • windows
    打开C:\Windows\System32\drivers\etc\hosts,将github.com的解析注释掉。

  • ubuntu

    sudo gedit /etc/hosts
    

同样将github.com的解析注释掉。

或者查询新的github地址的解析,重新在配置文件中更新一下。查询地址点击此处

3. git 分支main与master

本地当前分支为master,远程仓库为main,且远程仓库与本地仓库有 unrelated histories这样的问题,如远程仓库有README.md但本地没有

git checkout -b main
# Switched to a new branch 'main'
git branch
# * main
#  master
git merge master # 将master分支合并到main上
# Already up to date.
git pull origin main --allow-unrelated-histories # git pull origin main会报错:refusing to merge unrelated histories
git push origin main

19. git命令合集

网址: https://gitsheet.wtf/

1. Branches.

git branch : 列出所有本地分支
git branch -a: 列出所有本地和远程分支
git checkout -b branch_name: 创建本地分支,并切换到本地分支。
git checkout branch_name: 切换到现有的分支。
git push origin branch_name: 将分支推送到远程。
git branch -m new_name: 重命名当前分支。
git branch -d branch_name: 删除本地分支。
git push origin :branch_name: 删除远程分支。

2. Logs.

git log --oneline 在单行中显示提交历史。
git log -2 显示最近N次提交的提交历史记录。
git log -p -2 显示最后N次提交的历史记录。
git diff 在工作树中显示所有本地文件的更改。
git diff myfile 显示对文件所做的更改。
git blame myfile 显示谁在文件中更改了什么和什么时候。
git remote show origin 显示远程分支和它们到本地的映射。

3. Cleanup

git clean -f 删除所有未被跟踪的文件
git clean -df 删除所有未触发的文件和目录。
git checkout -- . 撤销对所有文件的本地修改。
git reset HEAD myfile Unstage a file.

4. Tags

git pull --tags 获取远程标签。
git checkout tag_name 切换到现有的标记。
git tag 列出所有标签
git tag -a tag_name -m "tag message" 创建一个新标记。
git push --tags 将所有标签推到远程回购。

5. Stashes.

git stash save "stash name" && git stash 保存更改到一个stash。
git stash list 列出所有stashs。
git stash pop 应用一个藏匿点并从藏匿点列表中删除它。

31. Git 从远程拉取指定分支到本地

git remote add origin https://github.com/zion6135/CPP-study.git // 添加操作的目的地网址

git fetch origin // 同步远程所有分支到本地

git fetch origin master //仅同步远程master分支到本地

git branch -a //可以看到远程分支 origin/xxx

26. 解决Git中fatal: refusing to merge unrelated histories

使用Git创建项目的时候,在两个分支合并的时候,出现了下面的这个错误。

fatal: refusing to merge unrelated histories

你可能会在git pull或者git push中都有可能会遇到,这是因为两个分支没有取得关系。那么怎么解决呢?

解决方案

在你操作命令后面加--allow-unrelated-histories
例如:

git merge master --allow-unrelated-histories

如果你是git pull或者git push报fatal: refusing to merge unrelated histories
同理:

git pull origin master --allow-unrelated-histories

8. git本地创建新分支与远程仓库关联以及拉取新的远程分支

一、查看分支

a、git branch 查看本地所有分支
b、git branch -a 查看远程所有分支

二、创建本地

创建分支并切换到该分支
git checkout -b 新分支名
创建分支,但不切换
git branch 新分支名

三、将二中创建的分支关联远程仓库

git push --set-upstream origin 分支名

四、从远程仓库拉取本地不存在的分支

git checkout -b 本地分支名 origin/远程分支名

如果出现报错,则先执行git fetch,在执行上述命令

33. git log 使用

git log

可以查询所有分支详细的提交记录
如果想要查询特定分支,如master分支,可以使用

git log master

如果只想粗略显示,可以使用

git log --oneline master

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.