git用法 总结

参考:
Git 提交代码和更新代码
https://blog.csdn.net/Snow_loveLife/article/details/80519998

1 拉取
2 取消更改

git checkout

3 提交
4 更新

git pull (一句命令搞定)

首先,操作之前一定要看清分支!!

其次,提交代码之前一定要先更新代码!!

git branch -----查看当前分支

git pull -----更新代码到本地

提交代码:

1、在本地修改相应文件(或者文件新旧替换)

2、git add //文件名 (文件修改路径)

(注意路径要写对)

3、git status ----查看当前本地文件信息

4、 git commit -m “更改信息备注”

5、git push --------提交代码到当前分支

(我一般git push 之前会看一下commit状态:git status)

到此Git提交代码就完成啦!

1

Git冲突:commit your changes or stash them before you can merge. 解决办法
http://www.aikaiyuan.com/8875.html

用git pull来更新代码的时候,遇到了下面的问题:

1
2
3
4
error: Your local changes to the following files would be overwritten by merge:
xxx/xxx/xxx.php
Please, commit your changes or stash them before you can merge.
Aborting
出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候你进行git pull操作就好出现冲突了,解决方法,在上面的提示中也说的很明确了。

1、保留本地的修改 的改法
1)直接commit本地的修改 ----也一般不用这种方法

2)通过git stash ---- 通常用这种方法

1
2
3
git stash
git pull
git stash pop
通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

放弃本地修改 的改法 ----这种方法会丢弃本地修改的代码,而且不可找回

2、放弃本地修改 的改法 ----这种方法会丢弃本地修改的代码,而且不可找回

1
2
git reset --hard
git pull





2

warning: push.default 未设置,它的默认值将会在 Git 2.0 由 ‘matching’
修改为 ‘simple’。若要不再显示本信息并在其默认值改变后维持当前使用习惯,
进行如下设置:

git config --global push.default matching

若要不再显示本信息并从现在开始采用新的使用习惯,设置:

git config --global push.default simple

参见 ‘git help config’ 并查找 ‘push.default’ 以获取更多信息。
(‘simple’ 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
为保持兼容,请用 ‘current’ 代替 ‘simple’ 模式)

Username for ‘https://git.dev.tencent.com’: xxxxxxx
Password for ‘https://caipeng_BLS@git.dev.tencent.com’:
Counting objects: 5, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 342 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)

git add之后如何取消

前言:在开发中,有时已经 add 的代码,想要取消恢复更改的文件,那么怎么办呢?
1、git checkout — //未git add的文件

2、git reset HEAD //已经git add的文件,可以用这个取消add,然后用上一条命令恢复

3、git reset –hard HEAD //把全部更改的文件都恢复(小心使用,不然辛辛苦苦写的全没了)

git reset HEAD 可以全部恢复未提交状态

git命令-切换分支

http://www.cnblogs.com/smiler/p/6924583.html

Git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下:

  1. 查看远程分支

$ git branch -a
我在mxnet根目录下运行以上命令:

~/mxnet$ git branch -a

  • master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    remotes/origin/nnvm
    remotes/origin/piiswrong-patch-1
    remotes/origin/v0.9rc1
    可以看到,我们现在在master分支下
  1. 查看本地分支

~/mxnet$ git branch

  • master
  1. 切换分支

$ git checkout -b v0.9rc1 origin/v0.9rc1
Branch v0.9rc1 set up to track remote branch v0.9rc1 from origin.
Switched to a new branch ‘v0.9rc1’

#已经切换到v0.9rc1分支了
$ git branch
master

  • v0.9rc1

#切换回master分支
$ git checkout master
Switched to branch ‘master’
Your branch is up-to-date with ‘origin/master’.

git放弃修改&放弃增加文件

https://www.cnblogs.com/ryanzheng/p/10443544.html

  1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。
    单个文件/文件夹:

git checkout – filename

所有文件/文件夹:

git checkout .

  1. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改。
    单个文件/文件夹:

$ rm filename / rm dir -rf

所有文件/文件夹:

$ git clean -xdf

// 删除新增的文件,如果文件已经已经git add到暂存区,并不会删除!

  1. 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。
    单个文件/文件夹:

git reset HEAD filename

所有文件/文件夹:

git reset HEAD .

  1. 本地通过git add & git commit 之后,想要撤销此次commit

git reset commit_id

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
// 撤销之后,你所做的已经commit的修改还在工作区!

git reset --hard commit_id

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
// 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码不会清除!

git 只拉取部分代码

GIT只拉取项目中的某个目录
https://www.jianshu.com/p/e6aff3098478

假设我的项目目录是:

--test
  --lib
  --bin
  --build
  --src

现在我只想在服务器上拉取 build 目录下的东西。

$ mkdir pro1
$ cd pro1
$ git init
  Initialized empty Git repository in E:/pro1/.git/
$ git remote add -f origin https://github.com/XXXXX/test.git    #拉取remote的all objects信息

Updating origin
remote: Counting objects: 522, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 522 (delta 124), reused 508 (delta 110), pack-reused 0
Receiving objects: 100% (522/522), 566.56 KiB | 261.00 KiB/s, done.
Resolving deltas: 100% (124/124), done.
From https://github.com/XXXXX/test
 * [new branch]      master     -> origin/master

$ git config core.sparsecheckout true   #开启sparse clone
$ echo "build" >> .git/info/sparse-checkout   #设置需要pull的目录,*表示所有,!表示匹配相反的

$ less .git/info/sparse-checkout
  build
$  git pull origin master  #拉取
$ ls
 build
git 获取当前git 代码的地址

git remote -v 查看所有关联的远程仓库信息,别名和地址等信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值