1,先cd到项目目录下,如:cd /f/majiong ,这样就进入了F盘下的
majiong 这个目录了
2,在这个目录下初始化仓库(创建仓库) 如:git init
3,把目录下所有文件以及子目录下所以文件添加到仓库中,如; git add .
注意. 号后面有个空格,然后提交所以的文件 git commit -m "新的开始"
4,查看当前仓库状态,如:git status
5,修改多个文件之后,git status 查看仓库状态已经改变,
6,比较修改前后差异,
如;git diff app/src/main/java/com/main/mahjong/a.java
若改变的地方很多,按任意键可看后面的修改地方,按下q 键可退出
7,修改了多个文件,不想每次都git add a,java b,java
可以直接 git commit -am "修改了新的内容"
可再次查看状态,如; git status
8,查看历史add,commit记录,如:git log
其中 commit cb926e7ea50ad11b8f9e909c05226233bf755030
commit 后面的是十六进制的commit id 也就是版本号,
可以用来恢复到某个版本号
9,回退恢复到上一个版本,如 git reset --hard HEAD^
恢复到上上个版本,如 git reset --hard HEAD^^ 以此类推
恢复到某个版本号下 如 git reset --hard cb926e7
版本号没必要写全,前几位就可以了,Git会自动去找。
当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
10,查看每次的操作命令记录,如 git reflog
11,撤销没有添加到暂存区或提交后的修改,
如 git checkout -- app/src/main/java/com/main/mahjong/a.java
其实就是检出之前提交的文件到工作副本中。
注意,add ,commit 之后的是不能用这个命令撤销的,只能reset ,有点用处不大
12, 删除文件 git rm app/src/main/java/com/main/mahjong/GameRoomActivity.java
确实要删除,则git commit -m "删除文件GameRoomActivity.java " 这个时候会真正从版本库种删除
误删或不想删除了。则 git checkout -- app/src/main/java/com/main/mahjong/GameRoomActivity.java
13,创建远程仓库需要的ssh key $ ssh-keygen -t rsa -C "9468802@qq.com"
14,把本地文件关联到远程仓库,注意是自己的仓库也可以是别人的
git remote add origin git@github.com:yijiliangfang/android-mahjong.git
其中yijiliangfang/android-mahjong.git 是自己在远程仓库的帐户名和远程仓库的仓库名,
其中origin 只是给远程仓库起的一个本地的名字,可以随便定义自己希望的名字。
15,删除远程仓库名 git remote rm origin
16,把本地生成的ssh 公钥复制添加到github 帐户中,此处可以自己百度,就不截图说明了,在github 个人帐户的设置里面就能看到。
17,更新远程文件到本地仓库:git pull origin master
如被拒绝合并可加参数 git pull origin master --allow-unrelated-histories
提交本地文件到远程仓库,git push -u origin master(只能push 自己的仓库,如果要push 别人的仓库需要申请,通过后才可以)
需要注意的就是push 推送之前先pull 拉一下服务器的数据,做一下同步,
有可能在新建一个新的github库的时候选择了自动创建readme文件。这个时候push 的时候可能发生错误。
另外:
git pull origin dev 命令会执行 git fetch origin dev 和 git merge 2个命令,
git fetch origin dev 命令会从远程库更新文件到本地的dev分支库,若本地没有dev 这个分支会被新建。
18,建立一个名叫:dev的分支, 如,git branch 'dev'
让HEAD 指向新建的dev, 如,git checkout 'dev'
用一行命令完成上面2步:git checkout -b 'dev'
19,查看分支列表,如,git branch ,如果是 git branch -a 会查看到本地和remote中远程的全部的分支
20,切换回到原来的master 主分支。如,git checkout 'master'
21,把在dev 分支中修改,增加的文件合并到master分支上,如,git merge dev
之所以是dev合并到master 是因为通过上一步的切换,现在HEAD指向了master 分支,
当前分支是master,所以是命令 git merge dev 是把dev合并到了master上。
22,删除之前的dev分支(若需要) 如,git branch -d dev
23,把dev 分支检出文件到某个文件夹下,git checkout dev /f/python/test
这样就会把dev 分支检出到f盘下的python/test 这个文件夹下。
24.1,克隆(下载)别人的仓库到本地仓库,git clone git@github.com:willy2358/lxqenjoy
相当于新建了本地git仓库和分支master,
当然用 git remote add origin git@github.com:willy2358/lxqenjoy ,然后 git fecth origin master也可以
24.2,把远程仓库dev 分支检出文件到某个文件夹下,$ git checkout origin/dev /f/python-test/TestSocket/lxqenjoy/
这样就会把dev 分支检出到f盘下的python-test/TestSocket/lxqenjoy/ 这个文件夹下。
注意:lxqenjoy 这个文件夹必须处于git的版本控制下,否则失败
git 笔记 在现有项目目录中创建git 版本控制
最新推荐文章于 2023-08-11 15:44:35 发布